First decide what kind of pie crust you'll use here. I recommend making a vanilla wafer crust, but you may also use a storebought crust, or make another pie crust altogether (see notes below).
For the best taste, you will also want to toast your own coconut, though you may also purchase toasted coconut and bypass that step. See my post on Toasted Coconut if you'd like to do it yourself.
In a medium saucepan, combine the granulated sugar, cornstarch, egg yolks, and salt. Add the whole milk and coconut milk, and whisk to combine.
Place the saucepan over medium heat, and cook the filling, whisking constantly, until the mixture thickens and comes to a light boil. Continue cooking and stir for 1 minute.
Remove the pan from the heat and stir in 1 cup of the toasted coconut, the vanilla extract, and the butter. Whisk until the butter has melted and incorporated.
Pour the filling into a large glass bowl and press plastic wrap directly onto the surface of the custard to prevent a skin from forming. Let cool for 30 minutes at room temperature.
Stir the pudding to smooth out any lumps, then pour onto the prepared pie crust. Press plastic wrap on top of the filling again, then refrigerate for at least 2 hours, until completely chilled. 4 hours is better for full setting.
Combine all whipped cream ingredients in a bowl, and use a hand mixer to whip to stiff peaks (see my post on Homemade Whipped Cream if you need more guidance). Spread the whipped cream over the pudding layer, then finish the pie by garnishing with the remaining 1/4 cup of toasted coconut.
If serving right away, cut into slices, and enjoy. Otherwise, keep in the fridge until ready to serve, ideally no more than a couple hours for optimal results.
Notes
*You may use any premade crust here, but I like this Vanilla Wafer Crust. You can also use a Graham Cracker Crust or a traditional Butter Pie Crust that has been fully blind baked, which is what the original Zingerman's recipe uses. I tend to think the cookie crumb crusts taste best here.**I recommend toasting the coconut yourself for optimal flavor (see my Toasted Coconut post). You may also buy toasted coconut.***A 13.5 ounce can of coconut milk yields about 1⅔ cups. You may use anywhere from 1.5 cups to 1⅔ cups here.Recipe adapted from the Zingerman's bakehouse cookbook (affiliate link).