Preheat oven to 400°F (200°C). Line baking sheets with parchment.
Heat water, butter, and salt in a saucepan until boiling.
Remove from heat and stir in flour until dough forms a ball.
Return to heat, stirring constantly, for 1-2 minutes.
Transfer dough to a mixing bowl and cool for 5 minutes.
Beat in eggs one at a time until dough is smooth and shiny.
Pipe 1.5-inch rounds onto baking sheets, spacing them 2 inches apart.
Bake for 20-25 minutes until golden brown. Do not open the oven.
Pierce puffs with a small knife to release steam and cool on a wire rack.
Heat milk until steaming for pastry cream.
Whisk sugar, cornstarch, and egg yolks together.
Slowly whisk hot milk into egg mixture, then return to saucepan.
Cook until thickened, then stir in butter, vanilla, and salt.
Strain and chill pastry cream until cold.
Cut cooled puffs in half and fill with chilled pastry cream.
Replace tops and dust with powdered sugar before serving.