In a large mixing bowl, whisk together 3 1/2 cups flour, sugar, yeast, and salt. In a separate bowl, combine the warm milk, egg, and 4 tablespoons softened butter.
Pour the wet ingredients into the dry ingredients and mix with a wooden spoon until a shaggy dough forms. Turn out onto a floured surface and knead for 8-10 minutes, adding remaining flour as needed, until the dough is smooth, elastic, and passes the windowpane test.
Place dough in a greased bowl, cover with a damp towel, and let rise in a warm spot for 60-75 minutes until doubled in size.
While dough rises, prepare the filling by mixing the melted butter with brown sugar, cinnamon, and cardamom. Let it sit for 5 minutes to bloom the spices. Line a 9x13-inch baking pan with parchment paper.
Punch down the risen dough and roll it out on a lightly floured surface into a 16x12-inch rectangle about 1/4-inch thick. Spread the spiced butter mixture evenly over the dough, leaving a 1/2-inch border along one long edge.
Starting from the filled long edge, tightly roll the dough into a log. Pinch the seam to seal. Using dental floss or a sharp knife, cut the log into 12 equal pieces.
Arrange rolls cut-side up in the prepared pan, leaving slight space between each. Cover loosely with plastic wrap and let rise for 30-40 minutes until puffy. Meanwhile, preheat oven to 375°F.
Brush the risen rolls gently with egg wash and sprinkle with pearl sugar. Bake for 22-25 minutes until golden brown and the internal temperature reaches 190°F.
Remove from oven and let cool in the pan for 10 minutes before transferring to a wire rack. Serve warm or at room temperature.