Preheat oil in a large skillet. Add in the green onions and purple onions, sprinkle in the salt and sugar. Cook on medium heat until they are softened, this may take about 15-20 minutes or longer. Just until the onions are soft but somewhat still visible as onions and not turn entirely into a mush if you know what I mean. Have a taste and add more salt to your taste if needed. It should be savory with hint of sweetness. Set aside
PREPARE TANG ZHONG:
Place milk and the bread flour in a small saucepan. Whisk until there is no more lumps. Cook this mixture over medium heat until it is thickened, about 5 minutes or less. Remove from the heat and let it cool down completely
MAKE THE DOUGH:
Mix all the dry ingredients together in a mixing bowl. Make a well in the center and pour in the wet ingredients and the tang zhong you made earlier. Use a dough hook attachment to knead the dough until all the crumbly dough starts to come together into one mass, it may take about 2-3 minutes for this to happen. Don't be tempeted to add any liquid. You may need to stop halfway and scrap the dough off the hook and the sides of the bowl and knead again several times
Once it comes into a dough, stop the machine. The dough will not be smooth, don't worry.Cover the dough and let it rest for 20 minutes. This is an important rest that bakers refer to as an autolyse (though in our case it's a short one. Read my post above for detail)
After the rest, turn on and knead the dough again and knead for 1-2 minutes until it is a bit smoother. Then add the salt and sugar into the dough. Continue to knead until the dough is relatively smooth. You need to stop and scrape the dough off the hook and the bowl several times during this process. I promise it's worth the effort!
Once you have a smooth dough, turn the machine back on again to knead and gradually add in the softened butter a bit by a bit. The dough will turn into a REAL sticky mess again because of the butter, just keep kneading and stop halfway and scrape the dough off the hook and bowl again and continue to knead until the butter is absorbed by the dough. IT WILL HAPPEN, don't worry! DO NOTbe tempted to add any extra flour. You will get a shiny smooth dough that is very elastic. I promise!
Place this dough in a lightly oiled large bowl, cover it with a clean and damp tea cloth or plastic wrap and let it rise at a warm place for about 1 hour. It may not double in size, but it will puff up some for sure.
Lightly oil your loaf pan and line your loaf pan with a parchment paper with side overhanging (easier to pull the bread out later). Punch the dough down, separate it into 14 equal pieces. Cover this dough loosely with a plastic wrap and let them rest for 15 minutes. Make sure you don't skip this part of resing the dough before shaping
Pull and tuck the dough to form a smooth oval shape with the seams tucked underneath. Place the seam side down on a baking sheet lined with parchment paper and repeat with the rest of the dough. Cover with a plastic wrap or a clean kitchen towel
Let the dough proof again for another 40 minutes or until they fill up the loaf pan. Brush the top of the dough with egg wash
Top with the onion toppings on top of each bun
Preheat oven to 350 Fand pop it into the oven (3rd rack from the top) and let them bake for the next 15-20 minutes depending on the oven, mine took 15 minutes. It will be golden brown on top. Remove from the oven and let them cool down in the pan for about 5 minutes and then transfer to cooling rack to let let them cool down completely
Once they've cooled down completely, wrap it up with plastic wrap and it's good for about 3 days or so (it didn't last that long in our house)
It may seem like a lot of onions to you, but these will cook down and shrink