Activate the yeast by combining warm milk and sugar, then let it sit for 5-10 minutes until foamy.
In a large bowl, mix 3 ½ cups of flour, salt, and cinnamon. Add the activated yeast mixture, butter, and egg. Stir until combined.
Knead the dough on a floured surface for about 5-7 minutes until smooth and elastic.
Place the dough in a greased bowl, cover it with a kitchen towel, and let it rise in a warm place for about 1 hour, or until doubled in size.
Prepare the filling by mixing brown sugar, cinnamon, and softened butter in a bowl until smooth and creamy.
After the dough has risen, punch it down and roll it out on a floured surface into a large rectangle.
Spread the filling evenly over the rolled-out dough, leaving a small border around the edges.
Starting from one long edge, tightly roll the dough into a log, then slice into equal pieces to form the rolls.
Arrange the rolls on a baking sheet in a tree shape, allowing space for them to expand during baking.
Cover the shaped rolls with a towel and let them rise again for about 30 minutes.
Preheat your oven to 350°F (175°C) while the rolls are rising.
Bake the cinnamon rolls in the preheated oven for 20-25 minutes, or until golden brown.
While the rolls bake, prepare the frosting by mixing powdered sugar with milk until smooth.
Once the rolls are out, let them cool for a few minutes before drizzling with frosting.