Blind-bake the pie crust at 375°F (190°C). Prick the bottom with a fork, line with parchment and pie weights, and bake for 15 minutes. Remove weights and bake another 10-12 minutes until golden. Cool completely.
Toast the coconut for garnish in a large skillet over medium-low heat, stirring constantly for 3-5 minutes until golden and fragrant. Immediately transfer to a plate to cool.
Whisk sugar, cornstarch, and salt in a medium saucepan. Add cream of coconut, milk, and half-and-half. Cook over medium heat, whisking constantly until it comes to a full boil. Boil for 1 minute while whisking.
Temper the egg yolks by slowly pouring 1 cup of the hot milk mixture into the yolks while whisking constantly. Pour the tempered mixture back into the saucepan and cook until thickened, about 1-2 minutes.
Remove from heat and stir in butter, shredded coconut, vanilla, and coconut extract. For silky texture, strain the custard through a fine-mesh sieve into a clean bowl.
Pour the warm custard into the cooled pie shell. Cover the surface directly with plastic wrap and refrigerate for at least 4 hours or overnight until completely set.
Chill a mixing bowl and whisk in the freezer. Whip cold cream, powdered sugar, and vanilla on high speed until stiff peaks form, about 1-2 minutes.
Spread or pipe the whipped cream over the chilled custard. Sprinkle with toasted coconut. Refrigerate until ready to serve.