Mix together all the ingredients for the filling and set aside until needed.
Mix together the warm milk, sugar, and yeast together. Allow it to sit to the side for about 5 minutes. You should get a layer of foam on top. If you do not get the foam on top, stop the recipe and get new yeast and try again until you get that foam. This is very important.
Add the salt, flour (starting with 4 ½ cups), and cardamom to a mixing bowl, then add the milk mixture (foam and all). Mix until it comes together.
Beat in the egg and mix until it incorporates. Continue to beat the mixture and add the butter one tablespoon at a time. Give the dough time to incorporate one tablespoon of butter before adding another tablespoon of butter.
Use a dough hook (or your hands) to knead the dough. Knead the dough for 8 – 10 minutes if using a dough hook, or 15 minutes if using your hands. You can tell the dough is finished being kneaded if you can stretch a piece of the dough until you can almost see through it.
Roll the dough into a big ball. Grease a large bowl and place the dough in the bowl. Grease plastic wrap and place over the dough. Leave in a warm area for about an hour, or until the dough is doubled in size.
Gently deflate the dough.
Roll out your dough into a rectangle on a lightly floured surface. It should be approximately 16 x 21 inches. Try your best to get the edges as straight as possible.
Spread the filling all around the dough in an even layer - you do not need to leave a border.
Fold the dough in thirds like a letter. You can do this by turning the dough so that one of the shorter edges is facing you (the way you normally look at a piece of paper). Fold the bottom third of the dough up, then fold the top third of the dough down so it rests on top of the fold you just made.
You should now have a rectangle that has the longer side facing you (the way you normally look at a standard envelope). Use a pastry cutter (a dough scraper or metal pizza cutter also works), to cut thin strips (about 2 centimeters) along the length of the long side of the dough. You should be able to make 15 - 18 strips.
Take one strip in both your hands, like you are holding rope. Stretch the dough slightly and gently - you don't want all the filling to ooze out.
Twist the dough to make spirals, then wrap the dough around two fingers (I wrapped them around the pointer and middle finger of my non-dominant hand). When you get to the end of the strip, push it through the hole your two fingers made to secure the bun.
Place on your lined baking sheet. Repeat with all the strips.
Lightly cover the buns with greased plastic wrap and set aside in a warm area.
Preheat your oven to 350°F. When the oven is preheated, lightly brush the dough with an egg wash.
Bake for 15 - 18 minutes, or until the buns reach a beautiful golden-brown color.
While the buns are warm, but not hot, brush with the cardamom syrup, then sprinkle with cardamom sugar.