In a medium saucepan, whisk together the egg yolks, sugar, cornstarch, and salt until smooth. Gradually whisk in the whole milk until combined.
Place the saucepan over medium heat and cook, whisking constantly, until the mixture thickens and begins to bubble (about 5-7 minutes).
Remove the saucepan from the heat and stir in the chopped milk chocolate and unsweetened chocolate until fully melted. Add the vanilla extract and mix until smooth.
Transfer the pudding to a bowl and cover it with plastic wrap, pressing it directly onto the surface to prevent a skin from forming. Let it cool to room temperature, then refrigerate for at least 2 hours.
In a large mixing bowl, beat the heavy whipping cream and sugar until soft peaks form. Be careful not to overbeat.
In your serving dish, start with a layer of vanilla wafer cookies, followed by sliced bananas, then chocolate pudding. Repeat the layers until all ingredients are used, finishing with pudding on top.
Spread the whipped cream over the top layer of pudding and garnish with additional banana slices or cookie crumbs if desired.