01 - In a large bowl, combine flour, sugar, salt, and instant yeast. Mix thoroughly to distribute yeast evenly.
02 - Add warm milk, softened butter, and egg to the dry ingredients. Mix until a soft, shaggy dough begins to form and all flour is incorporated.
03 - Knead the dough on a lightly floured surface for 8 to 10 minutes until smooth, elastic, and no longer sticky. The dough should spring back when pressed lightly.
04 - Place the dough in a lightly greased bowl, turning once to coat all sides. Cover with plastic wrap or a damp towel and let rise in a warm, draft-free area for 1 hour or until doubled in size.
05 - Punch down the risen dough to release air. Divide into 8 equal portions and shape each into a smooth, tight ball. Place on a parchment-lined baking sheet, spacing them apart.
06 - Cover the shaped dough loosely and let rest for 30 minutes until slightly puffed.
07 - Pour vegetable oil into a deep pot or Dutch oven. Heat to 340°F, maintaining temperature throughout frying.
08 - Fry donuts in batches of 3 to 4, turning occasionally, until golden brown on all sides, about 2 to 3 minutes per batch. Do not overcrowd the pot.
09 - Remove with a slotted spoon and drain on paper towels. Allow to cool completely before filling, about 20 to 30 minutes.
10 - Whip cold heavy cream in a chilled bowl until soft peaks form. Add sweetened condensed milk, powdered milk, and vanilla extract. Continue whipping until stiff, glossy peaks form.
11 - Transfer the cream to a piping bag fitted with a round tip. Make a small incision in the side of each cooled donut and pipe generously with cream filling.
12 - Roll filled donuts in powdered sugar until completely coated. Shake off excess sugar and serve immediately for optimal texture and flavor.