In the bowl of a stand mixer, combine the milk, yeast and sugar. Let sit in a warm spot until foamy and frothy, about 10 minutes. Add the butter, egg, 3 cups flour, and salt. Mix on high with the dough hook until the dough comes together and becomes soft and somewhat sticky. Add as much of the remaining 1/2 cup flour as needed to get the correct texture. Transfer to an oiled bowl and cover with plastic wrap and a damp kitchen towel. Let rest in a warm spot until doubled in size, about 1 hour.
Punch the dough down and transfer to a well floured work surface, kneading a few times. Roll the dough out to about 1/2 an inch thick and cut out into round doughnuts with a hole in the center. Place on baking sheets lined with parchment paper and lightly sprayed with cooking spray. Cover the baking sheets with a damp kitchen towel and let rest in a warm spot until doubled in size, about 30 minutes.
Meanwhile, fill a large heavy-duty dutch oven halfway with vegetable or canola oil. Attach a candy thermometer and heat the oil to about 360 degrees F. Once hot, fry the doughnuts in batches, for about 2 minutes on the first side, flip over and continue to fry for 1 more minute. Drain and transfer to a baking sheet lined with paper towels to soak up the excess oil. Transfer the doughnuts to a wire rack set over a baking sheet. Continue frying the remaining doughnuts.
To make the vanilla glaze, in a shallow bowl, whisk together the powdered sugar, butter, vanilla extract and milk until smooth and somewhat pourable. You don't want it to be too thick.
In a separate shallow bowl, whisk together the powdered sugar, cocoa powder, butter, milk, vanilla and salt until smooth. Dip the doughnuts into the vanilla and chocolate glaze (depending on what you'd like with whatever cereal you're using) and then dip into the cereal of choice. Return to the wire rack. Allow the doughnuts to set before eating. Doughnuts are best on the day of, but can be wrapped with plastic and kept at room temperature for up to 2 days. Enjoy!