In a small bowl, sprinkle the yeast over warm milk and let it sit until frothy, about 5 minutes.
In a large mixing bowl, combine sifted flour, sugar, and eggs. Mix until well incorporated and the dough starts to come together.
Add the activated yeast mixture and melted butter to the dough. Mix with a spoon or dough hook until a sticky, smooth dough forms, about 5 minutes.
Cover the bowl with a clean towel and let the dough rise in a warm place until doubled in size, about 1 hour. It will feel puffy and slightly springy when touched.
Once risen, lightly flour a work surface. Turn out the dough and gently knead it a few times to deflate. Roll it out to about 1/2 inch thickness.
Use a donut cutter or two round cutters to shape the dough into rings or spooky shapes. Place the cut shapes on a parchment-lined tray.
Heat the oil in a deep pan to 180°C (350°F). Use a thermometer to maintain a steady temperature.
Carefully lower a few donuts into the hot oil using a slotted spoon. Fry until golden brown, about 2-3 minutes per side, listening for a consistent crackling sound.
Use a slotted spoon to remove the donuts from the oil and drain on paper towels. Allow them to cool slightly before glazing.
Prepare the glaze by mixing powdered sugar with milk or water until smooth and desired consistency. Add vanilla if using.
Dip each donut into the glaze, then decorate with colorful toppings, sprinkles, or edible glitter to create spooky designs. Let the glaze set for a few minutes before serving.