Mix the dough: In a large bowl, whisk together warm milk, honey, melted butter, egg, yeast, sourdough discard, salt, and orange zest until smooth.
Add flour: Gradually mix in flour until a soft, slightly tacky dough forms (you may not need all of it).
Knead: Knead by hand on a lightly floured surface for 8–10 minutes, or in a stand mixer on low for 5–6 minutes, until smooth, soft, and elastic.
First rise: Place dough in a lightly buttered bowl, cover with plastic wrap or a damp towel, and let rise until puffy and ~70–75% larger, about 1–2 hours.
Prepare filling: Chop walnuts and toast lightly in a dry skillet until fragrant. Mix softened butter, brown sugar, cinnamon, orange zest, and cardamom (or cloves) into a smooth paste, then stir in toasted walnuts.
Roll out dough: Turn risen dough onto a floured surface and roll into a 14 × 18-inch rectangle. Spread filling evenly, leaving a small border.
Form rolls: Starting at the long side, roll dough snugly into a log, brushing off extra flour as needed. Slice into 12 rolls using a sharp knife or dental floss.
Second rise: Place rolls in a generously buttered baking dish with a small gap between them. Cover loosely and let rise until puffy and ~75–85% larger, 45–75 minutes. They should spring back slowly when pressed.
Bake: Preheat oven to 350°F (175°C). Pour 4 tablespoons of warm milk or cream evenly over the rolls just before baking, letting it seep slightly into the spirals. Bake rolls 20–30 minutes until lightly golden and set. Tent with foil if tops brown too quickly.
Glaze: While baking, whisk glaze until smooth and thin. Brush or drizzle generously over warm rolls.