In a small saucepan, heat together the butter and the milk just until the butter is melted. Transfer the mixture to a stand mixer bowl or large mixing bowl and let cool until warm to the touch but not hot.
Sprinkle the yeast over the top of the milk mixture and gently stir. Let stand for about 10 minutes.
Whisk one of the eggs and add to the milk and yeast mixture. Add the sugar, 3 cups of the flour, salt and cardamom and mix together with a dough hook attachment or by hand with a wooden spoon.
Once the dough comes together, transfer it to a floured surface and knead until smooth and elastic, adding a bit more of the remaining ½ cup of flour as needed to control stickiness. The dough should be slightly moist but not stick to your hands. Be careful not to add too much flour or the buns will be dry.
Place the dough in an oiled bowl and cover with plastic or a damp tea towel and let rise for about an hour until doubled.
Punch the dough down and divide into 16 equal pieces. Roll each piece into a smooth ball and divide between 2 parchment-lined baking sheets. Cover both sheets and let the buns rise for another 45 minutes.
Preheat the oven to 375°.
Whisk the remaining egg with a tablespoon of water and brush on the tops of the buns. Skip this step if you prefer a matte finish to your buns.
Bake for 10-15 minutes, just until golden brown. Cool on a rack, covering the buns with a tea towel to keep them soft.
Once the buns have cooled completely, cut a triangle or circular lid from the top of each, using a small sharp serrated knife. Pull out some of the soft interior from each bun to create a space for the filling. Set these crumb centers aside.