Sprinkle the yeast over the milk and set aside while you prepare other ingredients (this is not strictly necessary with instant yeast - you can add it to the flour - but for active dry, you should give it a few minutes to bubble up and activate).
Add the salt to the flour and mix in. Add the sugar and cardamom to the butter and mash so that they all become well combined. Chop the chocolate into small pieces (you can also use chocolate chips in which case not needed).
Add the cardamom butter to the milk mixture and mix in - don't worry if it's not fully combined. Add the whole milk-butter mixture to the flour and mix in well. Bring the mixture together into a ball - if it's dry, add a little more milk, and if it's very sticky, add a little more flour.
Transfer the dough to a clean surface and knead the dough for a few minutes until it feels smooth. Open out the dough, add the chocolate pieces, then fold over and knead to mix the chocolate through. Don't worry that the chocolate may fall out here and there, just keep pressing it back in. Once it seems fairly well distributes, bring the dough into a ball, place in a clean, lightly oiled bowl, cover and leave to double in size, roughly one hour.
After the dough has doubled, uncover and knock back the dough then divide it into 12 equal pieces. Form each piece into a rounded ball and place them with a good amount of space between them (a good 2 inches/5cm or more) on parchment-lined baking sheets. Cover and leave to rise again, around 30 - 40 minutes - they won't necessarily double but should look puffed up.
Near the end of the second rise, preheat the oven to 350F/180C. Lightly beat the egg and brush the tops of the buns with the egg wash then bake for approximately 12 - 15 minutes until golden brown on top and they sound hollow when you tap the bottom. Allow to cool a few minutes before enjoying warm, or allow to cool completely.