For the dough, place yeast, sugar and warm buttermilk in the bowl of an electric mixer fitted with the dough hook attachment. Add eggs and melted butter and stir to combine.
Weigh out the flour into a separate bowl. Add ¾ of the amount of flour to the other ingredients. Add salt and food colouring and knead.
Add in remaining flour, a tablespoon at a time, until the dough just cleans the side of the bowl. You may not need to use all the flour. If the dough is still sticky, remove it to a floured surface and knead by hand for a few minutes.
Place the dough into a greased bowl, cover with plastic wrap, and place in a warm environment until it doubles in size, about 1 hour.
Place the risen dough onto a floured surface and using a rolling pin, roll the dough into a large rectangle, about 15x20 inches.
Brush the dough all over with melted butter and then sprinkle on the sugar and cinnamon. Roll the dough starting at the long side of the rectangle. Cut the dough into 12 rolls and place them into a greased 9x13 inch baking dish.
If you are baking the rolls right away, preheat oven to 350°F. Cover the cinnamon rolls with plastic wrap and allow them to double in size, about 30 minutes. Bake the cinnamon rolls for 20 minutes. If the tops of the rolls are browning too quickly, lightly cover them with tin foil.
To make the cream cheese icing, whisk cream cheese and butter together until smooth. Add In icing sugar and whisk until combined. Spread the topping over the tops of cinnamon rolls right when they come out of the oven.