In a large mixing bowl, combine 2 cups of flour, ¼ cup of sugar, the salt, orange zest, and yeast. Stir everything together until evenly mixed.
Heat the milk, butter, and remaining ¼ cup of sugar in a small saucepan. Warm over low heat until the butter has mostly melted and the mixture is comfortably warm, not hot.
Pour the warm milk mixture into the dry ingredients. Add the egg and beat until well combined. Gradually mix in enough of the remaining flour to form a soft, slightly sticky dough.
Knead the dough on a lightly floured surface for 6–8 minutes, until smooth and elastic. Place it in a lightly greased bowl, cover, and let it rise in a warm spot for about 60 minutes, or until doubled in size.
In a bowl, combine the softened butter, powdered sugar, chopped almonds, cinnamon, and almond extract. Mix until evenly blended.
Punch down the risen dough and roll it into a large rectangle. Spread the almond filling evenly over the dough. Fold the dough in half lengthwise, then cut it into strips. Gently twist each strip several times and curl it into a loose spiral, tucking the end underneath.
Arrange the rolls on parchment-lined baking sheets, leaving enough space between them. Cover loosely and let them rise for 25–30 minutes.
Preheat the oven to 375°F (190°C). Bake for 15–18 minutes, or until the rolls are puffed and golden brown. Transfer to a wire rack and allow them to cool slightly.
Whisk together the powdered sugar, orange juice, and orange zest. Add 1–2 teaspoons of milk if needed to achieve a smooth, drizzle-friendly consistency.
Drizzle the orange glaze over the warm rolls. Let the glaze set slightly before serving.