Preheat oven to 425°F (220°C). Line two baking sheets with parchment paper and set aside.
In a medium saucepan, combine water, butter, and salt. Bring to a rolling boil over medium-high heat, ensuring the butter is completely melted.
Remove from heat and add the flour all at once. Stir vigorously with a wooden spoon until the mixture forms a smooth ball and pulls away from the sides of the pan, about 1 minute.
Return the pan to medium-low heat and cook for 2 minutes, stirring constantly, to dry out the dough slightly. Transfer to a large bowl and let cool for 3-4 minutes.
Beat in eggs one at a time, mixing thoroughly after each addition until the dough is smooth and glossy. The dough should fall from the spoon in a thick, slow ribbon.
Transfer dough to a piping bag fitted with a 1/2-inch round tip. Pipe 12-15 mounds onto each prepared baking sheet, spacing them 2 inches apart.
Bake for 15 minutes at 425°F, then reduce temperature to 375°F (190°C) without opening the oven door. Continue baking for 20-25 minutes until deeply golden and crisp. Pierce each puff with a skewer and let cool completely on a wire rack.
For the pastry cream, heat milk with vanilla bean pod and seeds in a medium saucepan over medium heat until steaming. Remove from heat and let steep for 10 minutes.
Whisk together sugar, cornstarch, and egg yolks in a bowl until pale and thick. Gradually whisk in the hot milk, then return the mixture to the saucepan.
Cook over medium heat, whisking constantly, until the cream thickens and comes to a boil, about 3-4 minutes. Boil for 1 minute, then remove from heat and stir in the softened butter. Strain through a fine-mesh sieve, press plastic wrap directly onto the surface, and refrigerate until completely cold, at least 2 hours.
To assemble, cut each puff in half horizontally or pipe cream through the bottom using a small round tip. Fill generously with chilled pastry cream, replace tops, and dust with powdered sugar before serving.