Start by preheating your oven to 425°F for optimal puff expansion. In a medium saucepan, combine water and butter over medium-high heat. Bring the mixture to a rolling boil, ensuring the butter completely melts and incorporates. Remove from heat immediately once boiling to prevent water evaporation.
Add flour and salt all at once to the hot liquid mixture. Stir vigorously with a wooden spoon until the mixture forms a smooth ball. The dough should pull away from the sides of the pan cleanly. Transfer this hot dough to your stand mixer bowl fitted with the whisk attachment.
Beat the dough on medium speed while adding eggs one at a time. Each egg must be completely incorporated before adding the next one. The finished batter should be smooth, glossy, and pipe-able. It will look more like thick cake batter than traditional bread dough.
Using a piping bag or spoon, create small mounds on your prepared baking sheet. Space them about 2 inches apart to allow for expansion during baking. Bake for 20-25 minutes until golden brown and puffed. Don't open the oven door during the first 20 minutes of baking.
While puffs cool, place your mixing bowl and whisk in the freezer for 10 minutes. This ensures proper whipping of the cream. Combine cold heavy cream, sugar, lemon zest, and juice in the chilled bowl. Whip on high speed until stiff peaks form, about 5-6 minutes.
Once puffs are completely cool, poke a small hole in each one with a toothpick. This releases steam and prevents soggy centers. Fill a piping bag with lemon cream and pipe into each puff through the hole. Alternatively, slice tops off and spoon in the filling before replacing the tops.