Preheat your oven to 425°F (220°C) and line a large baking sheet with parchment paper.
In a large saucepan, combine water, butter, sugar, and salt. Bring to a boil over medium-high heat. As soon as it boils, remove the pan from the heat.
Add all the flour at once and stir vigorously with a wooden spoon until the mixture forms a smooth dough. Return the pan to medium heat and cook, stirring constantly, for about 1 minute to cook out the raw flour taste.
Transfer the dough to the bowl of a stand mixer fitted with a paddle attachment (or use a hand mixer). Beat on medium speed for 2 minutes to cool the dough slightly—it should still be warm but not hot.
With the mixer running, add 3 eggs, one at a time, ensuring each is fully incorporated before adding the next. Scrape down the sides of the bowl as needed. Mix until the dough is glossy, smooth, and thick enough to slowly fall from the beater in a steady ribbon. If the dough seems too stiff, add the remaining egg and mix until combined.
Transfer the dough to a piping bag fitted with a large round tip. Pipe 2-inch-wide, 1-inch-high mounds onto the prepared baking sheet. Smooth any peaks with a lightly wet finger. For a golden finish, brush the tops lightly with egg wash.
Bake for 20 minutes, or until the puffs are golden brown and dry to the touch. Avoid opening the oven during baking. Once done, remove the sheet and carefully poke a small hole in the side of each puff with a knife to release steam. Return to the oven for 3 more minutes to dry out the centers.
Let the puffs cool completely on the baking sheet. For extra crispness, you can turn off the oven and leave the puffs inside with the door slightly ajar for a few minutes.