Heat the milk until warm but not hot (about 90°F).
Transfer to the bowl of your stand mixer and add yeast. Stir lightly and let bloom for 5 minutes until foamy.
Add the eggs, butter, salt, and sugar to the yeast mixture. Mix with the dough hook attachment on low until combined.
Add half of the flour (2 cups + 2tbsp) and mix until combined. Then, add the rest of your flour and knead on medium speed for 3-5 minutes.
Remove dough from bowl and lightly grease the bowl. Cover and let proof in a warm spot for 1-2 hours until doubled in size.
Once dough is proved, flour your work surface and roll out dough into a large oval, 3/4" thick.
Cut out large circles with a 4" ring cutter, then holes in the center with a 1" cutter. Place donuts and holes on two baking sheets lined with parchment paper.
Cover each tray lightly with a kitchen towel and place in a warm spot to proof, for 45 minutes to 1 hour.
After 45 minutes of proofing, heat oil in a large dutch oven over medium-high heat, until the oil reaches 375°F.
Prepare a large sheet tray with tin foil, then cover in paper towels. Fry your donuts in batches of 4 until the bottom side is lightly golden brown (about 45 seconds)
Turn donuts quickly and cook for another 30-45 seconds on the second side. Transfer to paper towel-lined baking sheet and let cool as you finish frying.
Once your donuts are done, mix powdered sugar with about 1/4 - 1/2 cup hot water and mix until combined. Optionally, add flavored extracts, cocoa powder for chocolate frosting, or brown butter.
Your frosting should be the consistency of thick cinnamon roll icing, but still pourable. Dip each donut in the icing and top with sprinkles, cookie crumbs, or your favorite toppings. Place on a wire rack to cool.