Make the crust: Pulse the flour, sugar, lemon zest and salt in a food processor. Add the butter and pulse until the mixture looks like coarse meal. Add the egg yolk and 2 tablespoons ice water; pulse until the dough begins to come together. Turn out onto a sheet of plastic wrap and pat into a disk. Wrap tightly and refrigerate until firm, at least 1 hour and up to 1 day.
Lightly coat a 9-inch tart pan with a removable bottom with cooking spray. Roll out the dough into a 10-inch round on a lightly floured surface. (If it gets too soft, return to the refrigerator until firm.) Ease the dough into the prepared pan and press into the bottom and up the sides, trimming any excess. Pierce the bottom all over with a fork. Refrigerate until firm, at least 1 hour or overnight.
Preheat the oven to 375 degrees F. Put the tart pan on a baking sheet. Line the crust with foil, then fill with pie weights or dried beans. Transfer the baking sheet to the oven; bake until the crust edges are golden, about 20 minutes. Remove the foil and weights and continue baking until the crust is golden all over, 15 to 20 more minutes. Transfer to a rack and let cool completely. (The tart shell can be made up to 1 day ahead.)
Meanwhile, make the filling: Whisk the sugar, egg yolks, cornstarch and salt in a bowl until combined. Heat the milk in a small saucepan over medium heat (do not boil). Gradually whisk half of the hot milk into the egg mixture, then pour back into the saucepan with the remaining milk and cook, whisking, until thick like pudding, about 4 minutes. Whisk in the butter and vanilla. Pour the filling through a fine-mesh sieve into a large bowl. Let cool to room temperature, stirring frequently, about 30 minutes.
Beat the heavy cream with a mixer until soft peaks form. Gently fold the whipped cream and poppy seeds into the cooled filling. Spoon into the prepared crust and smooth the top. Cover loosely with plastic wrap and refrigerate until set, at least 3 hours or overnight.