First prep your ingredients; using a stand mixer with a paddle attachment, combine 4 cups of flour, sugar, yeast and salt into the mixing bowl. Melt the butter in a separate, microwave safe bowl and set aside to cool for just a moment. Crack eggs into a small bowl and whisk them. Measure out the buttermilk and warm that in the microwave as well. You just want it to be warm, not hot. If you use a thermometer it should read between 95 to 105 degrees.
Now that the dough ingredients are prepped you can start making the dough. Add the melted butter, eggs and buttermilk into the bowl with the dry ingredients. Beat on medium speed for about 1 minute, or until the ingredients are combined. Switch to a dough hook and knead on medium speed for about 10 to 12 minutes. After about 5 minutes, add the remaining ¼ cup of flour to the dough. Allow the dough to knead for the remaining 5 to 7 minutes. The dough will be sticky and moist. It will pull away from the sides of the bowl but may stick to the bottom of the bowl.
Take a separate, large mixing bowl and spray it generously with non stick cooking spray. Remove the dough from it's mixing bowl and place it in bowl coated with non stick spray. Cover the bowl with plastic wrap or a clean kitchen towel and store the bowl in a warm, dark place. I prefer to keep it in the oven. Dough needs to rise for 2 to 2.5 hours.
Once you're getting close to the 2.5 hour mark, prepare your baking sheet.You can either use a 9x13 inch baking dish or rimmed baking sheet. Spray the pan with non stick cooking spray and them line with parchment paper.
Once the dough has risen and doubled in size your ready to roll it out. Before you remove the dough from the bowl punch it down with your fist. Then turn the dough out onto a well floured work surface. Flour your hands as well. Knead the dough lightly for 2 minutes. The use a rolling pin to roll out a 16 by 12 inch rectangle.
Use a knife to spread out the butter over the dough, leaving about ¾ of an inch border around the edges. Sprinkle the brown sugar over the butter, than sprinkle the cinnamon over the brown sugar.
Loosen the dough from the counter carefully, using a bench scraper or an offset spatula. Starting with the longer edge, roll the dough into a tight log. Pinch the seam closed and roll the log over so the seam is facing down (against the countertop). Using your hands, gently stretch the long to 18 inches in length. If the log becomes slightly unevenly don't worry, it doesn't have to be perfect. Slice the log into 12 slices that are about 1 and ½ inch wide. This works best with a bench scraper or a serrated knife. Arrange the rolls cut side down on the baking sheet and cover with plastic wrap. Store the rolls in the refrigerator overnight. They may rise slightly.
When ready to bake: remove the rolls from the refrigerator and let them sit out at room temperature for about 20 minutes so they can rise a little more. While your waiting for them to rise you can preheat your oven to 350 degrees and gather your ingredients to make the cream cheese glaze.
Bake rolls in the oven for 23 to 25 minutes. They should be lightly golden brown on top.
While the rolls are baking, make the cream cheese glaze: In a large mixing bowl combine butter and cream cheese. Beat on medium speed using a handheld mixer for 2 to 3 minutes. Scrape down the sides of the bowl. Add in the both extracts and 1 to 2 cups of sugar. Start mixing the ingredients together on low speed, working your way up to medium speed as the sugar combines with the butter and cream cheese. Add in the last cup of powdered sugar and a pinch of salt. Mix everything together for about 2 to 3 minutes so you have a nice, thick glaze.
Once the rolls are done baking remove them from the oven and let them cool just for a few minutes. Use a knife or spatula to spread the cream cheese glaze over the rolls while they're still warm. Glaze will melt slightly but should remain pretty thick. Serve immediately