For the dough: Mix dry ingredients (all-purpose flour, granulated sugar, baking powder, salt), then add softened butter, beaten egg, milk, and vanilla extract to form the dough. Knead dough until smooth, then let it rise for an hour.
For the fresh butter topping: Prepare topping by mixing softened butter, powdered sugar, beaten egg, cake flour, baking powder, and a pinch of salt. Shape the topping into balls and flatten into discs.
After the first rise, punch down the risen dough and divide into portions, shaping each into a ball.
Place dough balls on a baking sheet, top each with a disc of topping (and optional pineapple slice).
Let the buns rise again for 20-30 minutes.
Bake at 180°C (350°F) for 15-20 minutes until golden brown. Cool on a wire rack before serving.