Make the tangzhong base. For this, you’ll need ½ cup of water and 3 tablespoons of all-purpose flour. Whisk the ingredients in a small microwave-safe bowl until no lumps remain. Microwave the mixture for 20 seconds, stop and whisk it. Repeat this 2 more times, always pausing to whisk in between. You’ll end up with a smooth, pudding-like starter.
In a large bowl, or the bowl of your stand mixer if using one, mix all the dry ingredients: flour, milk powder, instant yeast, sugar, and salt.
In a medium bowl, mix the tangzhong base with the egg and whole milk. Don’t add butter to this mixture.
Add the wet mixture to the dry mixture and mix until the dough forms.
Add room-temperature butter and knead the dough for 5 minutes if using a stand mixer, or 8 to 10 minutes if kneading by hand. The dough should feel slightly tacky. If using a stand mixer, it should stick to the bottom of the bowl but not the sides.
Let the dough rest in a warm spot, covered, for 1 to 1 ½ hours, or until it doubles in size.
Divide the dough into 4 equal pieces.
On a floured counter, roll each piece flat, as shown in the photo (8a). Then roll each strip of dough into a cylinder (8b), pinching the ends to seal. When arranging the dough into the loaf pan, place the pinched side down, with the spiral against the long side of the pan.
Let the dough rest again for 1 hour, or until it almost doubles. The dough should look puffy when ready.
Bake the Shokupan for 35 to 40 minutes at 350°F, until the top is a deep golden brown. Don’t bake at a higher temperature, and be sure to bake for at least 30 minutes to avoid undercooking the middle. Wait at least 1 hour before slicing so the bread can cool and fully set.