Melt the butter in a saucepan and add milk. Heat to 110-155 degrees, which if you are testing by touch, should be slightly warmer than lukewarm.
Place yeast in a bowl and add a small amount of the mil mixture, stirring until the yeast is dissolved. Add the remaining liquid, salt, sugar, cardamom and about 2/3 of the flour, mixing to combine. Knead the dough until it’s smooth and elastic. Add in more flour, but keep a ½ cup aside. The dough is ready when it no longer sticks to the sides of the bowl. Cover with a cloth and set in a warm place to rise. Let it rise until the dough has doubled.
While dough rises, make the almond paste and prep the filling, by combining all ingredients in a bowl and mixing together until smooth.
Punch the dough down and knead a few times in the bowl, then turn out onto a lightly floured surface. Knead in the remaining flour.
Roll out the dough into a large rectangle on a lightly floured surface.
Spread the filling over the dough and fold into thirds, lengthwise, first lifting a third of the dough towards the middle, then folding the top third down so it aligns with the bottom edge of the dough.
Cut the dough into strips, about 2 cm wide. Cut each of the strips to split them down the middle but stop about 2 cm from the top. With each 2 cm strip, twist the two parts together to make a rope. Twist into a bun and place in a paper baking cup.
Cover and let rise for an additional 30-60 minutes.
Brush with beaten egg and sprinkle with pearl sugar.
Bake at 425 degrees Fahrenheit for 8-10 minutes.