In a saucepan, whisk tangzhong ingredients until no lumps remain. Cook over medium heat, whisking, until thick and smooth like pudding, about 2–3 minutes. Remove from heat.
Whisk melted butter and milk into the tangzhong. Add eggs and mix until smooth and lukewarm.
In a stand mixer bowl, combine flour, powdered milk, and yeast. Pour in the tangzhong mixture and mix on low until a shaggy dough forms. Cover and let rest 20 minutes.
Add sugar and salt. Knead on medium-low with dough hook for 10 minutes until dough is smooth and elastic. It should be slightly sticky but manageable.
Shape into a ball, place in a greased bowl, cover and let rise until doubled, about 1 hour. Or chill overnight.
Mix filling ingredients in a bowl. Cover and set aside.
Turn dough onto a lightly floured surface. Roll into a 16x18-inch rectangle.
Spread butter over dough. Sprinkle filling evenly, press in gently.
Roll tightly from the long edge. Pinch seam to seal. Slice into 12 rolls.
Arrange in a greased 13x9 or 15x13-inch pan. Cover and let rise until puffy, 45 minutes.
Preheat oven to 350°F (180°C). Bake for 20–25 minutes until golden. Tent with foil halfway if browning too fast.
Beat frosting ingredients until creamy. Spread over warm rolls. Serve immediately or cool completely.