Preheat oven to 325°F. Combine milk and butter in a small saucepan, and cook over medium-low, stirring occasionally, until butter is melted and small bubbles appear around edge of milk, 3 to 5 minutes. Remove pan from heat.
Whisk together egg yolks in a large bowl until thick and pale; gradually whisk in about one-fourth hot milk mixture. Add remaining hot milk mixture to yolk mixture, whisking constantly. Stir together flour and 3/4 cup of the sugar in a small bowl. Whisk sugar mixture into yolk mixture. Whisk in lemon zest and juice.
Beat egg whites and salt with an electric mixer at medium speed until foamy, about 30 seconds. With mixer running, gradually add remaining 1/4 cup sugar, beating until stiff peaks form, 5 to 6 minutes. Stir one-third of egg white mixture into milk mixture until smooth. Gently fold in remaining egg white mixture until just combined.
Spoon pudding into 8 (6-ounce) ramekins or custard cups (about 3/4 cup pudding per ramekin). Arrange ramekins in a baking pan or roasting pan. Add enough hot tap water to reach halfway up sides of ramekins (about 6 cups water for a 9- x 13-inch pan).
Bake in preheated oven until puddings are very lightly browned on top, about 30 minutes. Remove ramekins from water bath to a wire rack, and cool 15 minutes. Invert puddings onto individual serving plates. Serve immediately or at room temperature.