Scald the milk over medium heat for 3 to 4 minutes (bubbles on the edges but not boiling). Take it off the heat, add the butter and stir to melt. Let it cool to slightly warmer than room temperature. Stir in the yeast.
Knead using a stand mixer or by hand. Whisk together the flour, sugar, and salt in a large bowl. Add the milk mixture and knead into a soft, smooth and elastic dough. If the dough seems dry, add milk, one tablespoon at a time till dough is of desired consistency.
Place the dough into a bowl, cover loosely and let it rise for about 1 1/2 hours or so till doubled in volume. You can also let it rise in the refrigerator overnight. The rise will not be as much as regular dough because of the butter in the dough which will harden the dough. If refrigerating the dough, take it out next morning, lightly knead it, and then let it rise till double in volume.
Line a 9 x 5 -inch loaf pan with parchment paper. Remove the parchment and set aside on a baking sheet.
Make the topping:
Melt the butter in a mall pan or bowl. Stir in the sugars and cinnamon.
Deflate the risen dough and press it out or roll out into an 8 x 7 -inch rectangle. Roll the dough into a loaf, starting from the 8-inch edge side. Place it, seam side down, onto the parchment.
Slit the loaf 6 to 8 times with a serrated knife, cutting about 2/3rds into the dough. Stuff the slits generously with the cinnamon-sugar-butter.
Using the parchment, lift the loaf into the pan. Spread the remaining mixture over the top of the dough uniformly. Let it rise till almost double, for about 45 minutes.
Bake at 180C (350F) for about 30 minutes or so until the bread is done. Do watch the top to see it doesn’t get burned. My loaf came pretty close to it, as you can see from the images. Cool on a wire rack.