Preheat oven to 350°F (175°C) and toast 1/2 cup of shredded coconut for 5-8 minutes until golden brown; set aside to cool.
In a medium saucepan over medium heat, combine whole milk and cream of coconut until hot but not boiling.
In a separate bowl, whisk granulated sugar, cornstarch, and salt. In another small bowl, beat the eggs.
Slowly whisk a few tablespoons of the warm milk mixture into the eggs to temper them, then slowly pour the egg mixture back into the saucepan.
Cook the mixture over medium heat, whisking constantly, until it thickens and boils gently for 1 full minute.
Remove from heat and stir in the butter, vanilla extract, coconut extract, and 1 cup of un-toasted shredded coconut.
Pour the filling into the pre-baked pie crust, cover the surface directly with plastic wrap, and refrigerate for at least 4 hours.
Whip chilled heavy cream and powdered sugar to stiff peaks, spread over the chilled pie, and garnish with the toasted coconut before serving.