Spread the shredded coconut in a single layer on a baking sheet and toast in the oven for 5-7 minutes, or until golden brown. Set aside to cool.
In a large saucepan, whisk together the milk, heavy cream, sugar, cornstarch, and salt.
Place the saucepan over medium heat and cook, whisking constantly, until the mixture comes to a boil and thickens, about 8-10 minutes.
In a separate bowl, whisk together the egg yolks. Gradually whisk about 1 cup of the hot milk mixture into the egg yolks to temper them, then pour the tempered egg mixture back into the saucepan, whisking constantly.
Continue to cook the mixture over medium heat, whisking constantly, until it thickens and comes to a boil again, about 2-3 minutes.
Remove from heat and stir in the butter, vanilla extract, and toasted coconut.
Pour the mixture into the pre-baked and cooled pie crust. Cover with plastic wrap and chill in the refrigerator for at least 2 hours, or until set.
To make the topping, beat the heavy cream and powdered sugar together until stiff peaks form.
Spread the whipped cream over the chilled pie and sprinkle with the toasted coconut.
Serve chilled and enjoy your delicious old-fashioned coconut cream pie!