In the bowl of a stand mixer, combine 2 cups of flour, sugar, yeast, and salt.
Add the warmed buttermilk, melted butter, and egg. Mix on medium speed until well combined.
Gradually add the remaining flour until a soft dough forms and clears the sides of the bowl.
Knead the dough for 5 to 7 minutes until smooth and elastic, then place in a greased bowl, cover, and let rise in a warm place for 90 minutes or until doubled in size.
Punch down the dough and roll it out on a lightly floured surface into a 12x18 inch rectangle.
Spread the 1/2 cup softened butter evenly over the dough, leaving a 1/2 inch border.
Mix the brown sugar and cinnamon in a small bowl, then sprinkle evenly over the buttered dough.
Roll the dough tightly starting from the long edge, then slice into 12 equal pieces using unflavored dental floss or a serrated knife.
Place the rolls into a greased 9x13 inch baking pan, cover, and let rise for another 45 minutes.
Preheat the oven to 350°F (175°C) and bake for 20 to 25 minutes until the rolls are golden brown.
While the rolls bake, beat the cream cheese, 1/4 cup butter, powdered sugar, vanilla, and heavy cream until smooth.
Spread the icing over the rolls while they are still warm and serve immediately.