Prepare the dough for the buns the day before you want to bake them, if you have time – this will develop a better flavour. Warm the milk in a pan until steaming but not boiling. Add the butter and swirl the pan for 1-2 mins until the butter has melted and the milk cooled slightly. It should be just warm.
Put the flour in a large bowl, or the bowl of a stand mixer. Add the yeast and sugar to one side of the bowl, then ½ tsp salt to the other. Whisk together, then pour in the warm buttery milk. Mix until the ingredients form a soft dough (it should be a little sticky), then tip onto a lightly floured work surface and knead by hand for 8-10 mins, or keep the stand mixer going for 5 mins or so. The dough will feel stretchy and soft when it’s ready – you should be able to pull it apart without it breaking straightaway (this means the gluten has been developed). Lightly oil a bowl, add the dough and cover. Leave to rise at room temperature for a few hours, or until the dough has doubled in size. Or, chill overnight.
To make the apple filling, cook the apples, butter, sugar and 1 tbsp water in a pan for 5-10 mins until soft and sticky. Add a splash more water if the pan looks dry or the sugar starts to burn. Leave to cool.
If the dough has been chilled, take it out of the fridge 30 mins before shaping. For the cinnamon butter, mix the butter, sugar, vanilla and cinnamon together with a pinch of salt. Tip the dough onto a lightly floured surface, shape into a rough rectangle, then roll out until it’s about 50 x 40cm. Spread the cinnamon butter over the dough and all the way out to the edges. Spoon over the apple filling.
Working from one of the longer sides, roll the dough up as tightly as you can into a sausage shape. Cut into 12 equal pieces. To easily do this, first cut the dough in half crosswise, then cut each half into three pieces, then halve each piece. Line a large round baking dish or cake tin (about 33cm) with baking parchment. Arrange the buns, cut-side up, in the dish or tin. Make sure the tails of the buns (where the dough opens) are tucked in towards the middle of the tin, so they don’t unfurl when baked. Leave some space around each bun, as they will expand as they prove. Cover loosely and leave to rise for 30 mins-2 hrs (depending on how hot your kitchen is) until the buns are puffed up and touching at the sides. Heat the oven to 200C/180C fan/gas 6.
Bake for 35-40 mins until golden. Check the buns after 25 mins – if they still look a little doughy at the centre but the edges are burning, cover with foil and continue baking. Leave to cool in the tin while you make the icing.
Mix the soft cheese, icing sugar and cinnamon together. Spread over the buns while still slightly warm, so the icing drips into the swirls of the buns a little without melting completely. Loosen the caramel with a drop of milk, if needed, then drizzle over the icing. Leave to set for 30 mins before serving.