To make the crust: pulse flour, salt, and sugar in a food processor. Add the butter and pulse until pea-sized pieces of dough form. Start with 4 tablespoons of water and pulse just a few times. The dough will still be crumbly, but will stick together when pressed. Add more water if needed. Note: it will not form into a ball in the food processor! Remove from machine and turn into a bowl.
Press together to form a ball. Wrap in plastic and chill for at least one hour.
When dough is chilled, remove from refrigerator and roll until 1/8-1/4” thick. (I like my dough thicker!) Use the open mouth of the jars to cut circles of dough. Press one circle of dough in the bottom of each jar. Bake 2” apart on a cookie sheet at 350 degrees for 10-12 minutes. Cool.
In a large heatproof bowl, whisk the egg yolks and 2/3 cup sugar. Whisk until the mixture is pale yellow and smooth, 30-45 seconds by hand.
Add the milk and cornstarch to a medium sized saucepan. Set it over medium heat until bubbles begin to form around the edges, stirring constantly, about 5 minutes. When the milk is hot, pour about 1/2 cup into the bowl of egg yolks, while whisking to temper the eggs. Whisk in about another 1/2 cup of the hot milk into the eggs, then pour the egg mixture back into the rest of them milk in the pan. Continue heating until it thickens and coats the back of a wooden spoon, just a minute or two.
Remove from heat and add vanilla extract, coconut extract if desired, and coconut. Spoon the pudding evenly over the cooled crusts in the jars. Chill until set, about 3-4 hours.
Preheat oven to 400 degrees. Remove the jars from the refrigerator and set 2” apart on a cookie sheet.
Beat egg whites in a medium-sized bowl with a hand mixer until foamy. Add the remaining 1/3 cup sugar and continue beating until stiff peaks form, to create a meringue. Spoon evenly on top of the pudding in the jars. Bake 4-5 minutes, until the meringue is golden brown. Cool, then top with additional shredded coconut and/or mini candy eggs for decoration (optional).