First, prepare the water-roux: Mix flour and water in a small saucepan. Cook over low to medium heat, stirring continuously until it has thickened to a paste - that is, when you stir you can see the bottom of the pan. Remove from heat, place a cling film over the paste and leave until lukewarm, or room temperature, before using.
Sprinkle the yeast over the warm water in your mixing bowl. Wait 5 minutes until it is foamy.
Add the cooled water roux, milk, and egg. Stir using a wooden spoon or the dough hook on low.
Add the flour and sugar. Knead until sticky dough forms (about 10 minutes with a dough hook).
Add the butter and continue kneading until the dough is shiny, smooth, and supple. It will still be very sticky but it should pull away from the sides of the bowl. Add flour (up to 3/4 cup) if necessary.
Form the dough into a ball. Cover and let it rest for five minutes while you prepare the cheese topping.
Mix the grated cheeses and sugar together in a bowl. Set aside.
Cut the dough into 9-12 pieces (depending on your desired size). Roll each piece into a wide rectangle. Try not to use a lot of flour for rolling - you want the dough sticky and soft. Spread softened butter on rectangles. Sprinkle the cheese mixture (use one half or one cup of the mixture; reserve the rest for after). Roll up horizontally, pinch the edges, and tie in a knot.
See the video for how to form these. If you have ensaymada molds, you can use them! If not, just put them on a backing tray or muffin pan.
Cover loosely and let it rise in a warm place for 90 minutes.
Preheat the oven to 375 F. Once the buns have doubled in size, bake them for 20-30 minutes or until they are golden brown. This will depend on the size of your buns.
Immediately brush the buns with melted butter. Sprinkle the remaining cheese and sugar mixture over top. You can bake for 2 more minutes or just let them cool for 10 minutes before serving. These are best warm, so if you eat them later, you can always microwave them for 10-15 seconds.