To make the tangzhong, place the flour in a saucepan and gradually whisk in the milk to avoid lumps.
Place the pan over a medium/low heat and whisk constantly until the mixture has thickened to a paste/pudding-like consistency.
Scrape the tangzhong into the bowl of a stand mixer fitted with a dough hook and pour the rest of the cold milk and the orange juice on top. This will cool the tangzhong down so that the heat doesn’t kill the yeast.
Add the orange zest, orange blossom water, sugar, salt and flour and finally the yeast. Stir until it forms a rough dough then set the stand mixer to a medium speed and mix until the dough is smooth and stretchy, this can take about 10 minutes.
Add the vegan butter and knead for about another 5 minutes until it is fully incorporated and the dough is sticky but smooth, elastic and no longer feels greasy. You may need to scrape down the sides of the bowl a couple of times. The dough should pass the windowpane test - you should be able to stretch a portion of it very thin before it breaks, so thin that you can see light through it.
Transfer the dough to a lightly greased bowl, cover with clingfilm and either place somewhere warm to rise until doubled in size, about 1-2 hours, or in the fridge overnight.
Meanwhile make the filling. Place the orange zest and juice, sugar, fresh and dried cranberries and a pinch of salt in a pan and bring to a simmer. Cook for about 10 minutes, stirring often, until thick and jammy. Remove from the heat and stir in the butter. Set aside to cool. Once cool keep refrigerated.
Knead the risen dough very briefly to knock out any air bubbles then roll out on a lightly floured surface to an approx 40 x 32 cm/16 x 12 in rectangle.
Spread the cooled cranberry filling evenly over the dough.
Trim off the short ends to neaten (optional), then use a pizza roller or a sharp knife to cut the rectangle crosswise into 10 strips. Gently roll the strips up into spirals, don't roll them too tightly.
Tuck the ends of the spirals under and place the rolls spaced apart on a couple of baking parchment lined baking sheets. Loosely cover with oiled clingfilm and set aside to rise for about 45 minutes until puffy. If you press one gently the dough should spring back slowly about halfway and and leave a slight indentation. If it springs back quickly then they need a little bit longer.
Meanwhile, preheat the oven to 180°C/160℃ fan/350°F/gas mark 4.
Gently brush the risen buns with the milk and bake for about 25 minutes, until deep golden and cooked through. The internal temperature should reach at least 90°C/194°F on a probe thermometer. Leave to cool on the trays for 10 minutes then transfer to a wire rack. Once cooled store in an airtight container.
To make the glaze, place the icing sugar in a bowl and add the orange blossom water or vanilla extract. Gradually stir in enough orange juice to form a thick but pourable consistency. Drizzle the glaze over the buns and serve.