In a blender or food processor, blend the vanilla wafers into a sandy consistency.
Mix in the melted butter and salt until the cookie crumbs are completely saturated and have deepened in color.
Press the cookie crust into an 11x7-inch baking dish in an even layer and freeze. If you don't have an 11x7-inch dish, use any square or rectangle dish with a 10-cup (2.5 qt) volume.
Filling
Add the unsweetened coconut flakes to a large saucepan set over medium heat. Toast the flakes, stirring occasionally so they don't burn. Remove them from the pan when they are golden brown.
Add 1 cup of the toasted coconut flakes, the condensed milk, evaporated milk, coconut milk, salt, brown sugar, granulated sugar, and flour to a heavy-bottomed saucepan set over medium heat. Stir until everything is combined and the milk has thickened, about 5 minutes.
Take the milk mixture off the heat and let it steep for 20 minutes. Use a fine-mesh sieve to strain the coconut flakes from the milk mixture and discard. Add the milk mixture back to the pan and set over medium heat.
In a small bowl, add the water to the egg yolks. Mix in the cornstarch to create a slurry, then add it to the milk mixture in the pan. Cook over medium heat, stirring constantly until the custard bubbles in spurts.
Take the pan off the heat and add the butter and vanilla extract. Mix until the butter dissolves.
Strain the mixture through a fine-mesh sieve directly into the chilled crust. Refrigerate until set, about 2 to 3 hours.
Top with whipped cream topping and sprinkle the whipped cream with the remaining 1/2 cup of toasted coconut flakes.