Combine 1 cup warm milk, yeast, and ¼ cup sugar in a bowl and stir well. Let sit for 5-10 minutes until foamy.
Melt ⅓ cup butter in the microwave and let cool.
In a large bowl, combine 4 cups flour, ½ teaspoon salt, and a couple shakes of cinnamon.
Add 2 room temperature eggs, melted butter, and 1 teaspoon orange zest to the yeast mixture.
Pour the yeast mixture into the flour and mix until a shaggy dough forms.
Turn dough onto countertop and knead for about 5 minutes until smooth.
Oil a bowl, place dough in it, and cover with a towel or plastic wrap. Let rise for about 1 hour.
Make cinnamon filling: combine 2 tablespoons melted butter, ½ cup packed brown sugar, and 1 teaspoon cinnamon.
Make cream cheese filling: mix 1 brick softened cream cheese, ½ cup sugar, and a splash of vanilla extract until smooth.
Punch down dough and roll into a large rectangle with the long side closest to you.
Spread cinnamon filling evenly over the dough.
Spread cream cheese filling evenly over the cinnamon filling.
Cut the dough into 3 equal strips lengthwise.
Roll each strip into a log and stretch it out.
Gather the ends of the three logs together and braid them.
Place braided dough on a parchment-lined baking sheet.
Bake at 350°F for 30-35 minutes, checking at 20 minutes. Cover with foil if browning too quickly.
Make icing: whisk together 2 cups powdered sugar, 2-3 tablespoons heavy cream or milk, and vanilla extract if desired.
Pour icing over the cooled cake.
Decorate with purple, gold, and green sprinkles.
