Combine flour, sugar, salt, yeast, and baking soda in a large bowl. Mix until combined.
Beat the eggs in a separate bowl. Whisk in water and buttermilk. Combine this wet mixture with the flour mixture, then add the margarine and beat with an electric mixer until all dry ingredients are moist. Knead the dough for 15 minutes.
Wrap dough in plastic and place in your refrigerator for 5 to 6 hours or until dough doubles in size.
Remove the plastic and press dough out onto a lightly floured surface. Flatten the dough and use a rolling pin to shape it into a 20-inch-long by 17-inch-wide rectangle.
Spread 1 stick of softened margarine over the top of the dough, leaving the bottom 1 inch uncoated.
Combine the brown sugar, cinnamon, and xanthan gum in a medium bowl. Pour the mixture onto the margarine and spread it to the edges, leaving the bottom 1 inch uncovered.
Roll the dough tightly starting at the top, stretching it as you roll down to have 5 ½ to 6 rotations. Brush a little water over the bottom 1 inch uncoated strip of dough and complete the rolling.
Cut the rolled dough into 6 rolls using a serrated knife.
Place rolls evenly spaced on parchment paper in a 9 x 13-inch baking pan. Proof the rolls in an unheated oven with a large saucepan of boiling water for about 1 hour.
Preheat a convection oven to 325° (350° if not convection). Bake the proofed rolls for 16 to 20 minutes or until light brown.
While the dough bakes, whip the butter, cream cheese, salt, vanilla extract, and lemon extract for 10 minutes until fluffy. Add powdered sugar and mix again until combined.
When the rolls come out of the oven, immediately cover each with the frosting.
