In a large bowl, whisk together the warm milk, sugar, cardamom, and melted butter. The mixture should be just warm, registering between 100-110˚F.
Sprinkle the yeast evenly over the milk mixture, stir, and let sit in a warm place for about 10 minutes until the yeast has bloomed.
Add 4 cups of flour to the milk mixture and stir with a wooden spoon until just combined.
Cover the bowl with plastic wrap and let rise in a warm place for 1 hour, until nearly doubled in size.
Generously butter a large casserole dish or two 9-inch round baking pans and set aside.
Remove the plastic wrap from the dough and add the remaining cup of flour, baking powder, and salt. Stir well, then turn out onto a clean surface. Leave a bit of flour nearby to use as needed, but try not to incorporate too much.
Knead the dough for at least 10 minutes, adding more flour as necessary, until the dough just loses its stickiness and does not stick to the surface or your hands. The dough should be very smooth and spring back when poked.
Roll the dough out into a large rectangle, about ½-inch thick.
In a medium bowl, combine the brown sugar, butter, and cinnamon. Mix well, then spread the filling evenly over the dough.
Starting from one short end, roll up the dough into a log and pinch the seam closed. Place seam-side down. Trim any uneven ends.
Cut the log into twelve pieces, about 1½ inches thick. Place the rolls in the prepared pans. Cover with a towel and let rise in a warm place for 35-45 minutes, until expanded by about half of their original volume.
If desired, brush risen cinnamon rolls with egg wash and sprinkle with pearl sugar and/or almonds.
Bake the cinnamon rolls for 25-30 minutes, until golden brown.