To make the dough: In a small saucepan (or using the microwave), heat milk and butter until melted and lukewarm to the touch (110F-115F, no more).
Place flour, sugar, and yeast in the bowl of a standing mixer and mix to combine, then stir in salt. Add egg and milk-butter mixture. Attach dough hook and mix on low speed for 3 minutes, until dough starts to come together. If the dough is too sticky and looks more like batter than dough, add a bit more flour, 2 tablespoons at a time. The dough should still be rather soft. Increase mixer speed to medium-low and mix for another 10 minutes, until dough pulls away from the sides of the bowl (it’s ok if it sticks to the bottom). Stop periodically to scrape down the sides and bottom of the bowl. Cover dough with plastic wrap and let rest in a warm place for 1.5-2 hours, until doubled in size. Alternatively, you can refrigerate the dough overnight; it will rise slowly and be ready for the next step by morning.
To make the filling: In a small bowl, mix together sugar, orange zest, and cinnamon/cardamom.
When dough has doubled in size, gently punch it to remove air. Roll dough into an 18×10 inch (45×25 cm) rectangle. Spread the entire surface of dough with butter, then sprinkle on the sugar mixture, chocolate, and nuts and press gently so it all sticks to the butter. Starting with the longer edge, roll up the dough to form a log and pinch to seal the seam. Cut into 12 equal size pieces and place cut side-up on a greased 9×13-inch pan. Cover and let rest to rise for 1-1¼ hours, until almost doubled in size.
Meanwhile, preheat oven to 350F/175C.
Bake rolls for 25-30 minutes. You’ll know they’re ready when the smell is irresistible, the tops have browned, and a skewer inserted into the dough comes out clean. If the rolls brown too quickly while baking, cover them loosely with aluminum foil. Allow rolls to cool completely on a wire rack.
To make the glaze: Mix all ingredients together, adding a little orange juice at a time until you reach the desired consistency (thick but pourable). Drizzle over rolls.
Serve warm or at room temperature.
Rolls are best the same day they’re made. You can freeze any leftovers and rewarm them when ready to eat.