For the crust: In a large bowl, combine flour and 1/4 teaspoon salt. Cut in the shortening and butter until the mixture resembles coarse crumbs. Stir in the vinegar and 2 tablespoons water, until the mixture forms a ball, adding more water if necessary. Pat into a ball, wrap in plastic and refrigerate for 4 hours or overnight.
Preheat the oven to 425 degrees F. Roll the dough out to an 11-inch circle to fit a 9 1/2-inch glass pie plate. Place the crust in pie plate and trim and crimp edges. Place the dish on a baking sheet for easier handling. Prick the bottom and sides of the crust well with a fork. Line the inside of the crust with a piece of foil or parchment, allowing edges to extend several inches beyond the perimeter. Place 2 cups of dried beans in the crust to weight it down during baking and prevent shrinkage. Bake for 15 minutes or until the crust is no longer raw on the bottom. Remove the foil and beans by carefully lifting the foil out by the overhang. Bake for another 10 to 15 minutes or until light golden brown. Remove from the oven and cool completely.
For the filling: Place 1/2 cup cold milk in a medium-size mixing bowl (preferably with a pouring spout) and sprinkle the gelatin over top. Set aside to soften, about 5 minutes.
Bring the remaining milk and coconut milk to nearly a boil in a large heavy saucepan over medium heat.
When the gelatin is soft, add the sugar, cornstarch, egg yolks, and egg and whisk until very well blended. Gradually whisk about a 1/4 cup of the hot milk mixture into the gelatin mixture; repeat this process once or twice using about 3/4 cup of the hot milk mixture. Pour the warmed gelatin mixture into the saucepan with the hot milk and bring the mixture to a boil, stirring constantly. Cook for about 3 more minutes or until the mixture is very thick.
Strain the pastry cream through a fine wire strainer into a large clean bowl; whisk in the butter, coconut extract, and cream of coconut until smooth. Stir in 2 cups shredded coconut.
Pour into the cooled pie shell and refrigerate for at least 8 hours.
For the topping: Beat the heavy cream in a large bowl on high speed until foamy. Add the powdered sugar, and vanilla, and beat until soft to medium stiff peaks form. Spread over the pie. Sprinkle with the remaining 1/2 cup coconut. Keep refrigerated.
Cook's Note: This is my dream pie and everything I think a coconut pie should have: a golden, flaky crust; a cool and creamy, fluffy filling that tastes like coconut, not just a vanilla pastry cream with shredded coconut stirred in; and freshly whipped and sweetened heavy cream because I'm a whipped cream girl, not a meringue girl.
Chilling the crust for 4 hours makes all the difference in terms of the flakiness. Straining the custard is important for a really smooth texture. And lastly, chilling the pie for a good 8 hours is the key for perfect slicing.