In a heavy-bottomed saucepan, whisk together 1 cup of the granulated sugar, cornstarch, and sea salt.
Slowly whisk in the whole milk until completely smooth.
Cook over medium heat, stirring constantly, until the mixture reaches a gentle simmer and begins to thicken.
Continue cooking for another 2 to 3 minutes while stirring continuously.
In a separate bowl, whisk the egg yolks until smooth.
Gradually whisk about 1 cup of the hot milk mixture into the egg yolks to temper them.
Slowly pour the tempered egg mixture back into the saucepan while whisking.
Cook over medium-low heat for 4 to 5 minutes until the custard becomes thick enough to coat the back of a spoon.
Remove from the heat and stir in the butter and vanilla extract until smooth and glossy.
Strain the custard through a fine-mesh sieve into a clean bowl.
Press plastic wrap directly onto the surface and refrigerate for at least 3 hours or overnight.
While the custard chills, slice the strawberries and toss them with the remaining sugar. Let them rest for 15 minutes before draining and patting dry.
Slice the bananas just before assembling the dessert.
Preheat the oven to 350°F (175°C). Lightly grease a 13×9-inch baking dish.
Arrange a layer of vanilla wafers across the bottom of the baking dish.
Spread half of the chilled custard over the wafers.
Add half of the banana slices followed by half of the strawberries.
Repeat the layers with the remaining wafers, custard, bananas, and strawberries.
Finish with a final layer of vanilla wafers.
In a medium bowl, combine the melted butter, brown sugar, granulated sugar, flour, cinnamon, nutmeg, cloves, and chopped nuts if using.
Mix until crumbly and evenly moistened.
Sprinkle the crunch topping evenly over the wafers and gently press it down.
Bake for 30 to 35 minutes until the topping becomes deeply golden and bubbling.
Allow the Strawberry Crunch Banana Pudding to cool for at least 45 minutes before serving warm, or refrigerate for 2 hours for a chilled dessert.