In a small bowl, mix ¼ cup of the warmed milk with the yeast. Let it sit for about 10 minutes until it’s frothy and activated.
In a stand mixer, combine bread flour, sugar, and salt. Add eggs, yeast mixture, remaining milk, butter, and vanilla. Knead with a dough hook on medium speed for 10 minutes, adding all-purpose flour halfway through, until smooth and slightly sticky.
Once the dough is well-mixed and elastic, remove it from the bowl and briefly knead by hand. Place the dough in a lightly oiled bowl, cover with plastic wrap, and allow it to proof for 2 hours or until it has tripled in size.
While the dough proofs, heat the heavy cream until steaming, then remove from heat and add the chopped hazelnut chocolate. Let it sit for a few minutes, stir until smooth, and mix in the butter, salt, and hazelnut extract. Cool to room temperature, then refrigerate for 1.5 hours.
Heat vegetable oil in a large frying pan to about 350°F (180°C). Fry the donuts in small batches, cooking each side for about 2-3 minutes or until they are golden brown. Remove and drain on a plate lined with paper towels.
While the donuts are still warm, roll them in the remaining white sugar to coat the outside. Let the donuts cool completely.
Using a piping bag fitted with a round tip, fill each cooled donut with the hazelnut cream filling. Insert the tip into the side of each donut and gently squeeze until the filling is evenly distributed inside.
Your Italian Donuts with Hazelnut Filling are ready to be devoured! Serve them fresh and watch them disappear in minutes!