Load the mixer bowl with the heavy cream, milk, whole egg, sugar, cake flour, bread flour, yeast, and salt in that sequence, then knead with the dough hook on “stir” for 15 minutes, pausing occasionally to gather the dough together. The enriched mixture should gradually form a more cohesive dough.
Leave the bowl in a warm place for 1 hour beneath a damp towel. Look for the dough to reach about 1.5 times its starting size.
Run the mixer on “stir” for another 5 minutes to knock back the trapped air. The dough should look smoother as the larger bubbles disappear.
Turn the dough onto a lightly floured work surface, divide it into 12 equal portions, and round each portion into a bun. Aim for evenly shaped rounds so the batch rises consistently.
Arrange the rounds on a baking sheet and cover them with a clean, dry kitchen towel for a second 1-hour rise. The buns should become visibly fuller and puffy.
During this rise, place the dry milk powder in a separate mixing bowl and rub any clumps apart with your fingertips. The powder should feel uniform rather than pebbly.
Mix the all-purpose flour, baking soda, baking powder, and superfine sugar into the milk powder, then work in the shortening, milk, egg yolk, and vanilla by hand. The mixture should gather into a dough rather than remain loose and sandy.
Add more milk only if needed, working in a teaspoon at a time, then cover the topping tightly with plastic wrap and leave it at room temperature. Stop adding milk as soon as the dough holds together.
After the second rise, set the oven to 350°F and divide the topping into 12 equal portions, rolling each into a ball. Each bun should have a matching portion of cookie dough.
Flatten the topping balls into circles on a clean surface and lay one circle over each risen bun. Let the topping rest over the dome without pressing down the bread.
Brush the tops with egg yolk and bake at 350°F for 12–13 minutes. Look for golden tops with cracks opening across the cookie crust.