Start the dough: Set a medium/large saucepan over medium heat and add milk. Heat until steaming but not boiling. Add the butter, stir, and let the mixture cool to lukewarm. Once lukewarm, stir in yeast, sugar, cinnamon, sweet potato, and eggs. Add 2 cups of the flour, stirring to combine, then cover with a warm damp cloth. Set in a warm place to rise for 1 hour.
Form the dough: After an hour, add remaining ½ cup of flour, baking soda, baking powder, and salt. Transfer to a well-floured surface and knead until smooth and no longer sticky (you can add up to ½ cup more flour if needed). Roll dough out into a large, ¼ inch-thick rectangle.
Fill: Combine all filling ingredients and sprinkle evenly over dough, leaving 1 inch on one of the long sides free.
Roll: Starting at the long side opposite to the free border, roll the dough tightly, gently pinching to seal. Use dental floss or a sharp knife to cut the dough into 8 to 12 even segments.
Bake: Place rolls in a well-greased baking pan, leaving some wiggle room between rolls. Let rolls rise a bit more while oven preheats to 375 degrees F (190 C). Bake 15 to 18 minutes, until tops are golden brown.
Serve: Combine all icing ingredients and drizzle over warm rolls.