Add flour, sugar, condensed milk, milk, water, 25 g of the egg (about half of the egg, store the rest in the fridge for brushing) and yeast into the stand mixer and knead on low speed until the dough is formed.
Cover the mixing bowl and let it rest for 30 minutes (Store it in the fridge if your room temperature is higher than 80°F). Meanwhile, bring the butter out from the fridge, cut it into 4-6 pieces and leave it on the counter to soften a little.
When the dough is done resting, add salt and continue to knead for 30 seconds.
Add butter cubes one piece at a time and knead until the dough is smooth and it passes the windowpane test. (This step takes me about 6-8 minutes, with 5-7 minutes on low speed and 1 minute on medium speed. The actual time it takes you depends on your mixer.)
Form the dough into a ball (it will be very sticky, but if it's too sticky to handle, then add a little bread flour and knead for another 1~2 minutes) and put it in a lightly greased bowl. cover, and let it rise for 1 to 1.5 hours in a warm place (between 80°F to 90°F) until it doubles in size.
Transfer the dough onto a working surface and cut it into 8 even pieces. Form each piece into a ball, cover with greased plastic wrap and let it rest for 10 minutes.