Make sure your starter is ready. Feed your starter 4–8 hours before mixing, depending on room temperature. It should be bubbly, doubled, and pass the float test.
Combine liquids and sugars. In a large bowl or stand mixer, whisk pineapple juice, milk, honey, brown sugar, eggs, vanilla, and starter until smooth.
Add dry ingredients. Mix in salt, optional milk powder and ginger, and 450 g of bread flour.
Stir until a shaggy dough forms.
Knead and add butter. Knead on low (dough hook) for 3–4 minutes, then add softened butter in pieces. Continue kneading 6–8 minutes, adding additional flour 1 tablespoon at a time until the dough is soft, slightly tacky, and clears the bowl. It should be elastic and not overly sticky.
First rise (bulk ferment). Place the dough in a lightly oiled bowl, cover, and let rise at 75–78°F for 3–4 hours.
Perform 2–3 stretch-and-folds during the first 90 minutes to build strength.
Cold proof for flavor (optional but recommended). After the dough has risen by about 60–75%, cover and refrigerate 8–16 hours. This improves flavor and makes shaping easier.
Divide and shape. Turn the chilled or room-temp dough onto a lightly floured surface. Weigh and divide into 12 equal pieces (about 80–85 g each).
Shape each piece into a tight ball by tucking edges underneath and rolling against the counter.
Second rise. Arrange balls in a buttered 9x13-inch pan, spacing evenly. Cover and let rise until puffy and touching, 2–4 hours depending on temperature. They should look light and marshmallowy.
Preheat and egg wash. Heat oven to 350°F (175°C).
Brush rolls gently with egg wash for a glossy, golden top.
Bake. Bake 22–26 minutes until deep golden brown and the center roll reads 195–200°F. If browning too fast, tent with foil near the end.
Finish with butter. Brush hot rolls with melted butter and a pinch of salt. Cool 15–20 minutes before pulling apart.