Sift the flour and salt into a large bowl and rub the butter and lard into the flour until it resembles breadcrumbs.
Add the vinegar and enough cold water to bring the mixture together into a smooth dough.
Divide the dough into two pieces, wrap in cling film and chill in the fridge for 30 minutes.
Meanwhile, for the filling heat 25g/1oz of the butter in a frying pan and cook the chicken for 5-6 minutes, then add the leeks and continue to cook for a further 3-4 minutes, or until just soft. Transfer the mixture to a large bowl, then season and set aside.
Melt the remaining butter in a saucepan, then add the flour and whisk to a smooth paste. Cook for a minute or two then remove from the heat and slowly whisk in the milk. Return the sauce to the heat and cook over a gentle heat until smooth and thick (do not boil).
Stir in the chicken mixture, ham and tarragon.
Preheat the oven to 180C/350F/gas 4.
Roll one of the pieces of pastry thinly and use it to line a 25cm/10in pie plate. Trim the edges. Spoon in the chicken mixture and brush the edges of the pastry with the beaten egg.
Roll the second piece of pastry out thinly and cover the pie. Seal and crimp the edges. Cut a hole in the top of the pie and brush the top with the beaten egg.
Bake in the oven for 35-40 minutes.