Heat milk in a small saucepan until it bubbles, stirring frequently so it doesn’t burn. Remove from heat and let cool until it’s lukewarm.
Dissolve yeast into 1/4 cup of warm water and let stand for 10 minutes, or until creamy.
In the bowl of a stand mixer, fitted with the dough hook, combine yeast mixture, warm milk, sugar, oil, baking powder, salt, egg and 2 cups of flour. Mix until the dough is smooth. Slowly add remaining flour and mix until well combined. Knead dough on low speed for 5 minutes, until smooth and elastic. Place dough in lightly oiled bowl, covered, and let sit for 1 hour in a dry, warm place.
Grease two 9-inch pans with butter and set aside.
Once the dough has doubled in size (about 1-2 hours), punch dough and place on a lightly floured surface. Roll out into a rectangle, about 13 inches in length. Using an off-set spatula, apply butter and sprinkle with cinnamon and sugar. To roll the dough, roll in each long side towards the middle. Cut the log into twelve 1-inch rolls. Pinch the bottom of each roll to make the bottom point of the heart. Place six rolls in each pan, spaced slightly apart. Cover and refrigerate overnight, for at least 12 hours.
The next day, take rolls out of the refrigerator and let sit at room temperature for 45 minutes to an hour. Preheat oven to 350F while rolls are resting. Also, make icing by mixing the icing ingredients in a bowl with an electric mixer.
Bake cinnamon rolls uncovered for 25-30 minutes, or until golden brown. Ice while warm.