Make the dough: In a large bowl, whisk together 2 1/2 cups flour, sugar, yeast, and salt. In a separate bowl, stir warm milk, melted butter, egg, and 1 teaspoon vanilla.
Pour the wet ingredients into the dry and mix with a spatula until a shaggy dough forms.
Knead until smooth: Turn the dough onto a lightly floured surface. Knead for 6–8 minutes, adding just enough of the remaining flour to prevent sticking. The dough should be soft, smooth, and slightly tacky but not wet.
First rise: Place the dough in a lightly greased bowl, cover, and let it rise in a warm spot until doubled, about 60–75 minutes.
If your kitchen is cool, preheat the air fryer for 2 minutes, turn it off, and set the covered bowl nearby for gentle warmth.
Shape the donuts: Punch down the dough and roll it out to about 1/2 inch thick. Use a 3-inch round cutter for the donuts and a 1-inch cutter for the holes. Gently re-roll scraps once if needed.
You should get about 8–10 donuts plus holes.
Second rise: Place cut donuts on parchment squares. Cover loosely with a towel and let rise 20–30 minutes, until puffy and slightly springy to the touch.
Preheat the air fryer: Heat the air fryer to 350°F (175°C) for 3 minutes. Lightly spray the basket with oil or use perforated parchment made for air fryers.
Air fry: Carefully place donuts in the basket, leaving space between them.
Air fry for 4–6 minutes, flipping halfway, until lightly golden. Donut holes will cook faster, about 3–4 minutes. Avoid overcooking or they’ll dry out.
Make the glaze: While the donuts cook, whisk powdered sugar, 3 tablespoons milk, 1 teaspoon vanilla, and a pinch of salt until smooth.
Add more milk, a teaspoon at a time, to reach a pourable but thick consistency that clings to a spoon.
Glaze the donuts: Let donuts cool for 3–5 minutes so the glaze sets nicely. Dip the tops into the glaze, let the excess drip off, and set on a rack. For a thicker shell, dip twice, letting the first coat set for a couple of minutes.
Serve: Enjoy warm for the best texture.
The glaze will firm up as it sits, giving that classic shiny finish.