01 - Preheat oven to 350°F. Line an 8x8-inch baking pan with parchment paper, allowing overhang for easy removal.
02 - Combine graham cracker crumbs, melted butter, and sugar in a medium bowl until evenly moistened. Press firmly into the bottom of the prepared pan. Bake for 10 minutes until lightly golden. Set aside to cool.
03 - Whisk together whole milk, coconut milk, sugar, cornstarch, and salt in a saucepan. Cook over medium heat, stirring constantly, until mixture thickens slightly, about 3 minutes.
04 - Whisk egg yolks in a separate bowl. Gradually ladle about 1/2 cup of the hot milk mixture into the yolks while whisking continuously to prevent curdling. Pour the tempered yolk mixture back into the saucepan.
05 - Continue cooking over medium heat, whisking constantly, until mixture bubbles and thickens significantly, 3 to 5 minutes. Remove from heat immediately. Stir in vanilla extract and shredded coconut until fully incorporated.
06 - Pour the hot coconut filling over the cooled crust, spreading evenly. Refrigerate for at least 1 hour until completely set and firm to the touch.
07 - Beat chilled heavy cream, powdered sugar, and vanilla extract with an electric mixer until stiff peaks form. Spread the whipped cream evenly over the chilled coconut layer using a spatula.
08 - Sprinkle toasted coconut flakes generously over the whipped topping. Refrigerate for at least 30 minutes to set. Slice into 16 bars using a sharp knife, wiping the blade clean between cuts for neat edges.