In a medium saucepan over medium heat, combine half-and-half, coconut milk, sugar, cornstarch, and salt.
Whisk until the mixture begins to thicken and bubble.
In a separate bowl, whisk egg yolks. Gradually add about 1/2 cup of the hot mixture into the yolks, whisking constantly.
Return the tempered yolks to the saucepan and cook for 2–3 minutes until thickened.
Remove from heat. Stir in butter, vanilla extract, and shredded coconut.
Pour the filling into the cooled pie crust and smooth the top.
Cover with plastic wrap (touching the filling to prevent skin) and chill for at least 4 hours or until set.
Top with whipped cream and toasted coconut before serving.