01 - Combine flour, sugar, yeast, and salt in a large bowl or stand mixer. Add warm milk, eggs, vanilla, and softened butter. Mix until a soft dough forms, then knead for 8–10 minutes until smooth and elastic. Place in a lightly greased bowl, cover, and let rise until doubled in size, approximately 1–1.5 hours.
02 - Punch down the risen dough and roll out to 3/4-inch thickness on a floured surface. Cut out rounds using a 3-inch round cutter. Place rounds on parchment-lined trays, cover loosely, and let rise for another 30–45 minutes.
03 - Heat milk in a saucepan until steaming but not boiling. Whisk egg yolks, sugar, and cornstarch in a separate bowl until pale and smooth. Slowly pour hot milk into the yolk mixture while whisking continuously. Return mixture to saucepan and cook over medium heat, whisking constantly, until thickened, about 2–3 minutes. Remove from heat, whisk in vanilla and butter until smooth. Cover with plastic wrap directly touching the surface and chill until ready to use.
04 - Heat vegetable oil in a large, heavy pot to 350°F. Fry 2–3 donuts at a time for 2–3 minutes per side until golden brown. Transfer to paper towels to drain. While still warm, roll donuts in granulated sugar to coat evenly.
05 - Once donuts have cooled, poke a small hole in the side of each using a small knife or piping tip. Fill a piping bag with chilled pastry cream and pipe generously into each donut until filled.