Combine flours, sugar, and yeast in a mixing bowl and stir to combine.
Scatter softened butter cubes evenly over the flour mixture, then add eggs, lukewarm milk, vanilla, and salt.
Attach the dough hook to the mixer and knead the dough on low speed for 10 minutes until smooth.
Turn the dough onto a clean surface and shape it into a smooth ball by kneading lightly 2-3 times.
Place the dough in a lightly oiled bowl, cover with plastic wrap, and leave to prove for 2 to 3 hours or until tripled in size.
Once risen, punch the dough down to release air, knead briefly, then roll out into a 1/2 inch thick rectangle.
Cut rounds about 3 1/2 inches in diameter using a cookie cutter or glass.
Place dough rounds on parchment-lined surface, cover loosely with plastic wrap, and prove for 1 to 1.5 hours until tripled in size.
While doughnuts prove, prepare the pastry cream: whisk egg yolks, sugar, vanilla, and lemon zest until smooth.
Add cornstarch to the egg mixture and whisk thoroughly.
Heat milk until hot but not boiling, slowly whisk into egg mixture, then return to saucepan.
Cook over medium heat, whisking constantly until the mixture thickens and becomes creamy, then remove from heat and cool.
Heat oil in a deep pan to 170°C (337°F) for frying.
Carefully place doughnuts into hot oil, remove parchment immediately, and fry for 2 minutes on each side until golden.
Drain doughnuts on paper towels then roll in caster or powdered sugar; let cool before filling.
Make a small incision on the side of each doughnut with a knife.
Fill a piping bag with pastry cream and pipe it into each doughnut through the incision.
Serve immediately or store doughnuts in an airtight container for 1 to 2 days.