In a large bowl, whisk together the flour and salt. Cut in the cold butter and shortening using a pastry blender or your fingers until the mixture resembles coarse crumbs. Gradually add ice water, one tablespoon at a time, mixing until the dough just comes together. Form the dough into a disk, wrap in plastic wrap, and refrigerate for at least 30 minutes.
Preheat your oven to 375°F (190°C). On a lightly floured surface, roll out the chilled dough into a 12-inch circle. Carefully transfer the dough to a 9-inch pie plate. Trim and crimp the edges. Prick the bottom of the crust with a fork (this prevents it from puffing up). Line the crust with parchment paper and fill with pie weights or dried beans. Bake for 20 minutes. Remove the parchment paper and weights, and bake for another 10-15 minutes, or until the crust is golden brown. Let cool completely.
In a medium saucepan, whisk together the sugar, cornstarch, and salt. Gradually whisk in the milk until smooth. Cook over medium heat, stirring constantly, until the mixture comes to a simmer and thickens. Reduce the heat to low and cook for another minute, stirring constantly.
In a small bowl, whisk the lightly beaten egg yolks. Slowly drizzle about ½ cup of the hot milk mixture into the egg yolks, whisking constantly to temper them (this prevents them from scrambling). Pour the egg yolk mixture back into the saucepan with the remaining milk mixture.
Cook over low heat, stirring constantly, for 1-2 minutes, or until the filling is thick and smooth. Remove from heat and stir in the butter, vanilla extract, and coconut cream. Mix until well combined.
Pour the coconut cream filling into the cooled pie crust. Spread evenly. Cover the surface of the pie with plastic wrap, pressing it gently against the filling to prevent a skin from forming. Refrigerate for at least 4 hours, or preferably overnight, to allow the filling to set completely.
While the pie is chilling, toast the shredded coconut. Spread the coconut in a single layer on a baking sheet. Bake in a preheated oven at 350°F (175°C) for 5-7 minutes, or until golden brown, watching carefully to prevent burning. Let cool completely.
Before serving, remove the plastic wrap from the pie. Sprinkle the toasted coconut evenly over the top of the pie. Slice and serve chilled.