In a medium saucepan over medium heat, heat the milk until steaming but not boiling. Remove from heat and stir in granulated sugar, kosher salt, and butter until melted and combined. Set aside to cool for 5–10 minutes.
In a small bowl or liquid measuring cup, combine the warm water, granulated sugar, and active dry yeast. Stir gently, then let sit for 5–10 minutes until bubbly and foamy. If it doesn't foam, the yeast may be inactive—start over with fresh yeast.
In the bowl of a stand mixer fitted with the dough hook, combine the cooled milk mixture and the activated yeast mixture. Add the eggs and mix on low speed just until combined.
Add in the flour 1 cup at a time, mixing on low speed. Scrape down the sides of the bowl as needed. Once all the flour is incorporated, increase the speed slightly and knead the dough in the mixer for about 10 minutes, or until the dough is smooth, elastic, and pulls away from the sides of the bowl.
Lightly grease a large bowl with oil or nonstick spray. Transfer the dough into the bowl, turning it to coat. Cover loosely with plastic wrap or a clean towel, and let rise in a warm place for 1 hour, or until doubled in size.
Punch down the dough and allow it to rise again for another hour, covered.
While the dough rises a second time, make the glaze. In a medium to large bowl, whisk together confectioners' sugar, corn syrup, vanilla extract, kosher salt, and whole milk, starting with ¼ cup of milk. Add more milk as needed until the glaze is smooth and falls off the whisk like corn syrup—thick but pourable.
Once the dough has finished its second rise, turn it out onto a lightly floured surface. Roll the dough to ½ inch to ¾ inch thick. Use a 3-inch donut cutter (or two round cutters—one large and one small) to cut out donuts and holes.
Place the cut-out donuts onto parchment-lined baking sheets. Let them rest while you heat the oil—this will give them a final short rise.
Fill a heavy-bottomed pot or Dutch oven with at least 2 inches of vegetable oil and heat to 350°F, using a thermometer for accuracy. Once the oil is hot, carefully drop in 2–3 donuts at a time, being sure not to overcrowd the pot.
Fry the donuts for 45 seconds to 1 minute on the first side, then flip and cook the other side until golden brown. Remove with a slotted spoon or hand-held strainer and drain on a paper towel-lined plate.
While the donuts are still warm, dip each one into the glaze, using a fork or the handle of a wooden spoon to flip and coat both sides. Let excess glaze drip back into the bowl, then place the glazed donut on a wire rack set over a baking sheet to catch any drips.
Store leftover donuts in an airtight container, layered between parchment paper, for up to 2 days at room temperature.