Mix the flour, yeast, sugar and salt together in the bowl of a stand mixer fitted with a dough hook or in a large bowl. Make a well in the middle and pour in the milk and beaten egg. Knead on medium-low speed for 6-8 minutes, or for 10-12 minutes by hand. Let the dough rest, uncovered, for 10 minutes.
Add the butter to the dough and continue to knead for another 5 minutes, until the butter is completely incorporated and the dough is smooth and shiny. If kneading by hand, it will take a little longer for the butter to incorporate, but persist! Place the dough in a greased bowl, cover and leave to prove in a warm place for 1-2 hours, or until doubled in size.
For the filling, mix the cream cheese and Marmite / Vegemite together and set aside. Next, slice the spring onions and grate the cheese.
Knock the air out of the dough and turn it out onto a lightly floured surface. Roll it out into a large rectangle, about 35x25cm. Spread the cream cheese mixture evenly across the surface and then top with the grated Gruyere and sliced spring onions. Starting from a long edge, roll the dough up as tightly as you can. Tidy up the ends by trimming with a sharp knife, then cut the log into 10 or 12 equal pieces (see tips).
Generously grease 10 or 12 holes of a muffin tin with some butter, and place a roll in each one. Cover with a clean tea towel and leave to prove for 30-35 minutes until puffy.
Preheat the oven to 200°C, gas mark 6. Bake the buns for 18-25 minutes, until golden brown. Let them cool for a few minutes before removing from the pan and allowing them to cool on a wire rack. Enjoy warm or cold.