In a small saucepan over low heat, melt the butter. Stir in the milk and heat to between 120°F and 130°F (49-54°C).
While the milk is heating up, mix together the yeast, sugar, cardamom, salt, white whole wheat flour, potato flour and vital wheat gluten in the bowl of a stand mixer.
When the milk mixture has reached the correct temperature, pour it into the flour mixture and use a silicone spatula to stir it in until well combined.
With a dough hook attachment, mix on low speed, gradually add the all-purpose flour. Let the flour be fully incorporated before adding more flour. The dough should still be a little sticky and won't completely pull away from the sides of the bowl. Add more all-purpose flour, if necessary, one tablespoon at a time.
Knead on low for 10 minutes.
Form a ball with the dough and place in a lightly oiled mixing bowl; cover the bowl with plastic wrap or a thin kitchen towel and let rise in warm place until doubled in size, about one hour.
Prepare filling: mix together all the ingredients in a small bowl.
After the dough has doubled, punch the dough down, and knead a few times on a lightly floured clean surface.
Roll the dough into a 10x12-inch rectangle, spread the filling evenly on top, and then carefully roll tightly into a log. Pinch seam to seal.
Use a sharp knife or unscented dental floss to cut log into ¾-inch rolls. Try to keep them the same size.
Place rolls in greased muffin tins or on two parchment lined baking sheets.
Cover with a lightly greased piece of plastic wrap and let rise in a warm place until doubled, about 45 minutes.
Preheat the oven to 450°F (232°C).
Once the rolls have doubled in size, brush the beaten egg over the tops and sprinkle with pearl sugar.
Bake (one pan at a time) on the middle rack for 6–9 minutes or until evenly browned. Keep a close eye on them after the first 6 minutes – they burn quickly!
Remove from the oven; let cool completely on pan.
Store in an airtight plastic bag for up to 3 days.