Crust: Preheat oven to 325 degrees. Lightly coat a 9-inch glass pie plate with cooking spray; set aside. Place remaining ingredients in a medium bowl, and use your hands to mix until well combined.
Press mixture into bottom and all the way up sides of prepared pie plate. Bake until firm but not yet browning, about 20 minutes. Remove from oven; transfer to a wire rack to cool completely. Crust can be made up to 2 days ahead and refrigerated, covered with plastic wrap.
Filling: In a medium saucepan, whisk together milk, sugar, cornstarch, and salt. Bring almost to a boil over medium heat, whisking constantly, 3 to 4 minutes. Meanwhile, in a medium bowl, lightly whisk egg yolks just until frothy.
Whisk one-fourth of the hot-milk mixture into egg yolks; return the mixture to saucepan. Whisking constantly, cook until bubbles appear around the edges, about 1 minute. Stir in grated coconut and coconut extract. Transfer to a large bowl; let stand about 15 minutes.
Pour filling into the prepared crust. Refrigerate until set, at least 4 hours or overnight. Whip cream and spread on top; garnish with toasted coconut, if using.