Place the flour, instant yeast, salt, milk powder (if using) & egg yolk into the bowl of a stand mixer, with the dough hook attached.
Next, place the marmite & milk into a heatproof jug then microwave until it reaches a temperature of 38°c/100°f. Stir the warm milk, to melt the marmite then pour into the flour.
Mix the dough on a medium speed for 4-5 minutes, until smooth then with the mixer still running, add in the butter a small piece at a time. Make sure to let each piece of butter mix in fully before adding in more.
Once all the butter has been added, keep kneading the dough for another 5 minutes or so, until it passes the windowpane test.
Next, take the mixing bowl off the mixer then add in the grated cheeses. Gently knead the cheese into the dough by hand then transfer to an oiled mixing bowl. Cover with clingfilm then leave to double in size at room temperature. This will take 1-2 hours.
Once the dough has risen, knock it back, tip out onto a clean work surface then divide into 9 equal pieces, using a bench knife. Each piece should weigh around 90 grams.
Shape each piece of dough into a ball then place onto a lined baking tray, in 3 rows of 3, leaving a couple of centimetres between each bun. Cover the tray lightly with clingfilm (or an upside down roasting tin) & leave to prove for another 1-1½ hours, until almost doubled in size.The buns should have risen by about 75%. Whilst your buns are rising, preheat an oven to 180°c/160°c fan (356°f/320°f).