Use a fork to mix the flour, sugar, yeast, cardamom, salt, and orange zest in a bowl of a stand mixer. Add the lukewarm milk and eggs and use the paddle attachment to mix until you have a shaggy mass.
Replace the paddle attachment with the dough hook and mix for about 3 minutes on medium speed.
With the mixer on medium speed, add the butter, one piece at a time, waiting for each piece to blend with the dough before adding the next.
Once you add the last piece of butter, mix on medium speed until the dough is separated from the sides of the bowl and you have a smooth, slightly sticky, and elastic dough.
Cover the dough with a plastic wrap and set in a warm spot to rest until double in size, about 90-120 minutes.
Punch the dough to deflate the air, place a clean working surface, and divide it into 14 equal pieces (each about 65g).
Use the palm of your hand to create a cage and roll each piece of dough until you have a smooth ball of dough.
Place the rolled dough over a large baking sheet lined with parchment paper, then gently press each ball with the palm of your hands.
Brush with an egg wash and set aside to rest for about 90-120 minutes.
Bake for 15-17 minutes until the top of the buns is golden brown and the inner temperature is 180-200F. If you don't have a thermometer, cut one bun to make sure it is not raw at the center.
Remove from the oven and cool over a wire rack before filling and topping.