Making the Dough: Start by combining the flours, sugar, and yeast in a mixing bowl. Scatter cubes of softened butter over the dry ingredients, then pour in the eggs, lukewarm milk, vanilla, and a pinch of salt. Mix until combined.
If using a stand mixer, attach the dough hook and knead on low speed for about 10 minutes. The dough should become smooth, elastic, and slightly tacky—but not sticky enough to cling to your fingers.
Once kneaded, shape the dough into a ball and place it in a lightly oiled bowl. Cover with plastic wrap and let it rise for 2-3 hours, or until it triples in size.
Shaping the Bomboloni: After the dough has risen, gently knock out the air and knead it briefly to reshape it into a smooth ball. Roll it out on a clean surface to about ½ inch thick. Use a round cookie cutter (about 3.5 inches in diameter) to cut out circles. Place them on parchment-lined trays, cover loosely, and let them prove again for 1-1.5 hours.
Preparing the Filling: While the dough rests, prepare the pastry cream. Whisk together the egg yolks, sugar, vanilla, and lemon zest in a bowl. Add the cornstarch and mix until smooth. Heat the milk in a saucepan, then slowly pour it into the egg mixture while whisking constantly to avoid scrambling the eggs. Return the mixture to the saucepan and cook over low heat, stirring continuously, until thick and creamy. Set aside to cool.
Frying the Doughnuts: Heat sunflower or vegetable oil in a deep pan to 170°C (338°F). Carefully lower the doughnuts into the oil (one at a time), removing the parchment paper immediately with tongs. Fry each side for about 2 minutes, or until golden brown. Drain on paper towels, then roll in sugar while still warm.
Filling Your Bomboloni: Once cooled, use a small knife to create an incision on the side of each doughnut. Fill a piping bag with your chosen filling (pastry cream, Nutella, jam, etc.) and pipe it generously into the center.