In the bowl of a stand mixer, whisk together the warm milk, yeast, sugar, and 1 cup of the flour. Cover the bowl and let the mixture sit in a warm spot for 30 minutes.
Add the eggs, salt, and melted butter. Gradually add the remaining 3 and 1/4 cups flour until the dough is soft but not sticky.
Knead the mixture with a dough hook on medium speed until it is smooth and elastic, about 10–15 minutes. Cover the bowl and allow the dough to rise in a warm place until it doubles, about 1 hour.
In a saucepan, combine the cranberries, sugar, and orange juice. Cook the filling over medium heat until the berries burst and the mixture thickens slightly (about 10 minutes).
Stir in the orange zest. Let the filling cool completely before spreading it on the dough.
Roll the risen dough into a large rectangle on a floured surface. Brush the dough generously with the melted butter.
Spread the cooled cranberry filling evenly over the dough.
Starting from the long side, roll the dough tightly into a log. Slice the log into 12 even rolls with a serrated knife. Place the rolls in a buttered 10x8-inch pan. Cover the pan and allow the rolls to rise until they are doubled, about 1 hour.
Preheat the oven to 350°F. Bake the rolls for 35–40 minutes, or until they are golden brown.
Whisk together the powdered sugar, orange juice, and orange zest until smooth. Drizzle the glaze over the warm rolls. Enjoy!