To make the pastry, put the flour into a bowl. Add the butter and vegetable fat and rub them in lightly with your fingertips until the mixture looks like coarse breadcrumbs (this dough is richer and stickier than a standard pastry). Alternatively, rub in the fat using a food processor or a mixer, and then transfer to a bowl.
Add the cheeses to the flour and fat and mix well. Now, using a table knife, work in just enough cold water to bring the pastry together into a dough. You’ll probably need 2-3 tablespoon. When the dough begins to stick together, use your hands to gently knead it into a ball. Wrap in cling film and place in the fridge to chill while you make the filling.
Preheat the oven to 200C/400F/Gas 6 and have ready a metal baking dish, about 24x20cm/10x8in big and 5cm/2in deep.
For the filling, place the potatoes in a saucepan, cover with water, add a little salt and bring to the boil. Reduce to a simmer and cook until the potatoes are tender enough to mash, about 12-15 minutes.
Drain the potatoes well and put them through a ricer into a large bowl (this will give you smooth, lump-free mash but you can use a standard potato masher if you prefer). Add the onion, cheese, some salt and a good pinch of white pepper. Beat with a wooden spoon so the cheese is well incorporated. Add the milk and chives and give the mix a good stir.
Put the mash into the tin and use the back of a spoon spread it out until smooth and even.
On a lightly floured surface, roll out the pastry so it will just fit on top of the mash. It should be 8-10mm/1/3in thick. Place it on top of the mash, trim the edges neatly and mark the pastry into six portions by scoring it with a knife.
Brush the pastry with the beaten egg and bake for 20-25 minutes, or until golden-brown. Let the pie stand for 15 minutes before cutting and serving.