Preheat your oven to 350°F (180°C, 160°C fan-assisted) and grease two 8-inch cake pans to prevent sticking.
In a large bowl, sift together the flour, granulated sugar, cocoa powder, baking powder, baking soda, and salt to evenly combine and aerate.
In a separate bowl, whisk together the eggs, whole milk, sour cream, vegetable oil, and vanilla extract until fully blended and smooth.
Pour the wet mixture into the dry ingredients and gently stir until just combined, ensuring a smooth batter without overmixing.
In a small bowl, dissolve the espresso powder in the hot water to deepen the chocolate flavor, then incorporate it gently into the batter.
Evenly pour the batter into the two prepared pans. Bake for approximately 35 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool completely in the pans before carefully removing them and transferring to a wire rack to finish cooling.
Place a cake ring on a cake board or serving plate and set one layer of the cooled cake inside the ring for mousse assembly.
Finely chop the dark and white chocolates and place them separately into two bowls in preparation for mousse.
In a clean bowl, whisk the egg yolks along with granulated sugar and cornstarch until the mixture is thick, pale, and creamy.
Divide the heavy cream in half. Warm one half in a saucepan with the vanilla extract until scalding hot, being careful not to boil.
Gradually drizzle the hot cream into the egg yolk mixture while whisking continuously to create a smooth custard without curdling.
Pour half of the warm custard into the dark chocolate bowl and the other half into the white chocolate bowl, stirring each until fully melted and smooth.
Beat the reserved heavy cream until stiff peaks form, then gently fold it into each chocolate mixture to incorporate air and create a light mousse.
Pour the dark chocolate mousse evenly over the first cake layer and smooth the top. Follow by layering the white chocolate mousse on top, smoothing it as well.
Refrigerate the mousse-layered cake for 30 minutes to set before adding the second cake layer on top.
Finely chop the milk chocolate and place in a bowl. Heat the remaining heavy cream until scalding and pour it over the chopped chocolate, stirring until smooth.
Allow the ganache to cool slightly until spreadable, then evenly cover the entire cake to create a glossy finishing layer.