In a stand mixer bowl, whisk together 3 1/2 cups flour, granulated sugar, yeast, and salt. Add warm milk, melted butter, and eggs. Mix with dough hook on low speed until combined, then knead on medium speed for 6-8 minutes, adding remaining flour gradually until dough is smooth and slightly tacky.
Transfer dough to a greased bowl, cover with a damp towel, and let rise in a warm spot for 60-90 minutes until doubled in size.
Punch down the dough and roll out on a floured surface into a 16x12-inch rectangle. Spread softened butter evenly across the surface, leaving a 1/2-inch border on one long edge.
Mix brown sugar and cinnamon in a small bowl, then sprinkle evenly over the buttered dough. Gently press blueberries and strawberries into the filling, distributing them evenly across the surface.
Starting from the long edge opposite the border, tightly roll the dough into a log. Pinch the seam to seal. Using a sharp serrated knife or unflavored dental floss, cut into 12-15 equal slices, about 1 to 1 1/4 inches thick.
Place rolls cut-side up in a greased 9x13-inch baking pan, spacing them about 1/2 inch apart. Cover loosely with plastic wrap and let rise for 30-40 minutes until puffy.
Preheat oven to 350°F. Place a shallow pan of hot water on the bottom oven rack. Bake rolls on the center rack for 25-30 minutes until golden brown and the internal temperature reaches 190°F.
While rolls bake, beat cream cheese until fluffy. Gradually add powdered sugar, heavy cream, and vanilla extract, beating until smooth and spreadable.
Let rolls cool in the pan for 10 minutes, then spread cream cheese frosting generously over the warm rolls. The heat will create a luscious, slightly melted topping.
Serve immediately while warm, or cool completely before storing. Optionally garnish with additional fresh berries arranged in red, white, and blue patterns.