Activate the Yeast: In a small bowl, combine warm milk, sugar, and yeast. Let sit for 5-10 minutes until foamy.
Mix the Dough: In a large mixing bowl, combine flour and salt. Add the yeast mixture, eggs, and softened butter. Mix until a soft dough forms.
Knead the Dough: Turn the dough onto a floured surface and knead for 8-10 minutes until smooth and elastic.
First Rise: Place the dough in a greased bowl, cover with a damp cloth, and let rise in a warm spot for 1 hour or until doubled in size.
Prepare the Vanilla Custard Filling:
Heat the Milk: In a saucepan, warm the milk over medium heat until it just begins to steam (do not boil).
Whisk the Egg Mixture: In a bowl, whisk together egg yolks, sugar, and cornstarch until smooth.
Temper the Eggs: Slowly pour the hot milk into the egg mixture, whisking constantly, then return to the saucepan.
Cook the Custard: Cook over medium heat, stirring constantly, until thickened. Remove from heat, stir in vanilla, and cool completely in the refrigerator.
Shape and Fry the Donuts:
Roll the Dough: Once risen, punch down the dough and roll it out to about ½-inch thickness. Use a round cutter to cut out donuts.
Second Rise: Place the donuts on a parchment-lined tray, cover, and let rise for 30 minutes.
Fry the Donuts: Heat oil in a deep fryer or pot to 350°F (175°C). Fry the donuts for 1-2 minutes per side until golden brown. Drain on paper towels.
Assemble the Donuts:
Fill with Custard: Using a piping bag fitted with a narrow tip, inject the cooled custard into the center of each donut.
Caramelize the Topping: Sprinkle granulated sugar evenly on top of each donut. Use a kitchen torch to melt and caramelize the sugar until it forms a crackly crust.