Place the flour and salt in a bowl, add the fats and rub in with the fingertips until the mixture resembles coarse breadcrumbs. Use a round-bladed knife to stir in the measured water until the mixture starts to bind. Bring to a dough, adding a little more water if it feels dry. Lightly knead on a floured surface until smooth. Wrap and chill until required.
Combine the sausagemeat with 1 chopped onion and a little thyme and shape into 18 small balls. Melt 25 g (1 oz) of the butter in a frying pan, fry the meatballs until golden, then drain. Season all the other meats and fry, in batches, until golden, adding more butter if needed. Drain.
Melt the rest of the butter in the pan and fry the remaining onion and the celery and garlic. Blend in the flour, add the stock and bring to the boil. Cook for 4–5 minutes.
Mix all the meats and chestnuts in a 2 litre (3½ pint) pie dish and pour over enough of the liquid to come to within 2 cm (¾ inch) of the rim. Leave to cool.
Roll out the pastry on a lightly floured surface until 5 cm (2 inches) larger than the pie dish. Cut a 2.5 cm (1 inch) strip from around the edges and place it on the dampened rim of the dish. Brush with milk, cover with the pastry lid, fluting the edges with the back of a knife, and score a cross in the centre. Use the pastry trimmings to make leaves for the top, then brush with more milk. Bake in a preheated oven, 190°C (375°F), Gas Mark 5, for 1 hour, until deep golden, covering with foil if the pastry begins to get too brown.