Cut the kidneys in half and remove the tubes and skins; rinse well under cold running water. Pat dry and cut into 1cm dice.
Pour the vegetable oil into a large, heavy bottom pot and set over medium-high heat. Season the flour to taste with salt and pepper in a bowl. Toss the kidney and stew meat in the flour; shake off the excess. Sear the meat in the hot oil until well browned, then remove. Add the bacon to the pot and cook until crisp. Stir in the onion and mushroom and cook to soften, about 2 minutes.
Pour in beef stock, wine and browned meat; bring to a boil, stirring constantly, until the mixture starts to thicken, about 5 to 10 minutes. Reduce heat to low and simmer 1 1/2 to 2 hours, until meat is tender. Remove from heat and cool to room temperature.
Place potatoes in a saucepan with enough water to cover over high heat. Bring to a boil, then reduce heat to medium-low and simmer until potatoes are tender, about 20 minutes. Drain, then mash with the butter and milk; season with salt and pepper. Allow to cool.
Preheat oven to 190 degrees C.
Press one sheet of the puff pastry into a 23cm pie dish and trim the edges to fit. Fill with the cooled meat mixture. Spread mashed potatoes over top, about 2 cm thick. Place the remaining sheet of puff pastry over the top of the pie. Trim the excess pastry around the edges, then flute the edges with a fork. Brush the top with the beaten egg.
Bake in the preheated oven for 20 to 25 minutes or until crust is golden.