Preheat your oven to 350°F (175°C). Grease and line two 9-inch round cake pans with parchment paper for easy removal.
In a large mixing bowl, whisk together the flour, cocoa powder, baking powder, baking soda, and salt.
Incorporate the eggs, buttermilk, vegetable oil, and vanilla extract into the dry ingredients. Beat until smooth.
Gradually pour in the hot water or coffee. Don't worry; the batter will be thin, which is perfectly fine!
Pour the batter into your prepared pans. Bake for 30–35 minutes or until a toothpick inserted in the center comes out clean. Cool completely.
In a separate bowl, beat the softened butter until creamy. Gradually mix in the melted milk chocolate followed by powdered sugar, alternating with heavy cream. Add vanilla and salt; beat until fluffy.
In a medium saucepan, melt granulated sugar over medium heat until golden. Add butter and stir until melted. Carefully pour in heavy cream and stir until smooth. Allow to cool.
Once cooled, level the cake layers if necessary. Spread frosting between the layers and over the top of the cake. Drizzle with caramel before serving.