To blind bake a homemade pie crust: Dock (prick) the bottom of the pie crust with a fork. Chill in the fridge for 30-60 minutes. Cover with foil or parchment paper and fill with pie weights or uncooked beans. Bake in a 400°F oven for 20 minutes. Remove weights and foil. Bake for another 8 minutes or until the shell is light golden. Remove from the oven; set aside to cool completely.
In a small bowl, whisk the egg yolks and cornstarch; set aside. In a medium saucepan over medium heat, whisk milk, coconut milk, sugar, and salt. Bring to a simmer; about 2 minutes. Ladle about 1 cup into the egg yolk mixture whisking to combine, then add to the milk mixture. Turn the heat to medium-low and simmer for 2-3 minutes, whisking constantly.
Remove from heat and stir in vanilla extract, coconut extract, and coconut flakes. Pour warm filling into a cooled pie crust. Cover with plastic directly on top of the filling (to prevent a skin from forming). Refrigerate for at least 3 hours to overnight.
Make the Whipped Cream Topping: Using a hand mixer or stand mixer, whisk together heavy cream, powdered sugar, and vanilla extract, until medium stiff peaks for spreading or stiff peaks for piping. Spread or pipe whipped cream on top.
Make the toasted coconut garnish: Preheat the oven to 350 degrees F and spread coconut flakes on a baking sheet. Toast for 10-12 minutes, stirring frequently. Sprinkle on top of the whipped cream topped pie. Store pie in refrigerator for up to 5 days.