Begin by heating the milk and sugar together in a small saucepan over medium heat, whisking until they are well combined. Next, add the butter and stir until it is almost completely melted before removing the mixture from the heat and setting it aside.
In a large mixing bowl, attach the paddle to your stand mixer and combine about 1½ cups of flour with the yeast. Once these dry ingredients are combined, add the lukewarm milk mixture and blend on low speed for 2-3 minutes.
While the mixture rests for a few minutes, take the time to grate the zest of an orange and a lemon, and set the zest aside.
Next, with the mixer on low speed, add the eggs and mix for about 1-2 minutes, scraping down the bowl as needed. Once the eggs are well-incorporated, add the vanilla extract, rum, and salt, and then switch to the dough hook.
Add the remaining flour and knead for a few minutes, and then incorporate the citrus zests and continue to knead for another 6-8 minutes, until the dough is smooth and elastic. If the dough is still sticky, add a few more tablespoons of flour.
Lightly grease a bowl with butter and place the dough inside, making sure to turn it over to coat it with grease. Cover the bowl with plastic wrap and let it rise for about 2 hours, or until it has doubled in size.
While the dough rises, prepare the filling.