Step 1: Prepare the Pie Crust
In a large bowl, mix flour and salt. Cut in the cold butter until mixture resembles coarse crumbs.
Add ice water, 1 tablespoon at a time, mixing until dough just comes together.
Shape into a disk, wrap in plastic, and refrigerate for 30 minutes.
Roll out dough and fit into a 9-inch pie pan. Trim and crimp edges.
Line with parchment, add pie weights, and bake at 375°F (190°C) for 15 minutes. Remove weights and bake for 10–12 more minutes until golden. Let cool.
Step 2: Make the Coconut Custard
In a medium saucepan, toast shredded coconut over medium heat for 2–3 minutes until golden. Remove and set aside.
In a saucepan, whisk together sugar, cornstarch, and salt. Slowly whisk in milk and heavy cream until smooth.
Cook over medium heat, stirring constantly, until mixture begins to bubble and thicken.
In a small bowl, whisk egg yolks. Slowly pour in ½ cup of the hot milk mixture to temper the eggs.
Return tempered egg mixture to the saucepan and cook for 2 more minutes.
Remove from heat and stir in butter, vanilla extract, coconut extract (optional), and toasted coconut (reserve a little for garnish).
Step 3: Assemble the Pie
Pour the hot coconut custard into the cooled pie crust.
Cover with plastic wrap, pressing it directly onto the surface to prevent a skin from forming.
Chill for at least 4 hours, or until set.
Step 4: Whipped Cream Topping
Beat heavy cream, powdered sugar, and vanilla until stiff peaks form.
Spread or pipe over the chilled pie.
Sprinkle with reserved toasted coconut before serving.