Preheat oven to 350°F. Line a 9x13 baking dish with parchment paper and set aside.
Add flour and powdered sugar to a medium bowl and cut butter into it. Mix until a soft dough forms. Press into the prepared baking dish and bake for 16-18 minutes, or until golden brown. Set aside.
In a large saucepan, add half and half, coconut milk, eggs, sugar, cornstarch and salt and bring to a boil over medium-low heat whisking regularly, until thick and bubbling (about 15-20 minutes). Remove from heat and add 1 ½ cups flaked coconut, coconut extract and vanilla extract. Stir to combine and pour over the cooled crust. Chill in the refrigerator for at least 2 hours, or until firm.
While bars are chilling, toast remaining 1 cup coconut by spreading onto an ungreased cookie sheet and baking at 350 degrees for 5-7 minutes, or until golden brown.
Make topping by whipping the heavy cream, powdered sugar, and vanilla together until stiff peaks form in a cold, large metal bowl (we like to use our Kitchen-Aid). Spread over the cake. Sprinkle with toasted coconut flakes. Chill until ready to serve.