Grease an 8½ x 4-inch loaf pan and set aside.
In the bowl of a stand mixer fitted with the paddle attachment, combine 2 cups of the flour, 1/4 cup sugar, instant yeast, and salt.
Heat the milk and 1/4 cup butter together until the butter melts; add 1/4 cup water and cool the mixture until warm (about 120–130°F). Stir in the vanilla.
Pour the warm milk mixture into the dry ingredients and mix until just moistened. Add the eggs one at a time, beating until incorporated.
Stop the mixer and add 1/2 cup of the reserved flour; mix on low until the dough is smooth, under a minute. Add 2 tablespoons more flour and mix again until smooth.
Turn the dough onto a lightly floured surface and knead by hand about 1 minute, adding up to 2 more tablespoons of flour if the dough is too sticky. Place the dough in a lightly greased bowl, cover, and let rise in a warm spot until doubled, about 1 hour.
While the dough rises, make the filling by mixing melted butter with sugar and orange zest until combined; set aside.
Punch down the risen dough and roll it on a floured surface into a 20 x 12-inch rectangle.
Cut the rectangle into five 12 x 4-inch strips. Spread the filling evenly over each strip, then stack the strips on top of each other to make a stack of five.
Cut the stacked strips into six equal 2-inch-wide pieces. Place each piece into the prepared loaf pan with the cut sides facing up.
Cover the pan and let the loaf pieces rise in a warm spot until about doubled, about 45 minutes.
Preheat the oven to 350°F (175°C). Bake the loaf for 30–45 minutes until the top is browned and a skewer inserted near the center comes out clean.
Cool the loaf in the pan on a wire rack for 10–15 minutes, then remove from the pan to finish cooling.
Make the icing by beating cream cheese and powdered sugar until smooth, then add milk and orange juice and mix until combined. Spread the icing over the warm (or cooled) cake and serve.