Preheat the oven to 350 °F (175 °C). Prepare three 6x2-inch (15x5-cm) round cake pans by brushing the bottom and sides with melted butter and dusting it with cocoa, then lining the bottom with a round of parchment. Set aside.
Sift together the flour, baking soda, salt, and cocoa into a medium bowl and set it aside.
Combine the milk, vinegar, and vanilla in a separate bowl. Stir, then let it stand for a few minutes so that the milk curdles and thickens.
Whisk in the oil and brown sugar.
Add the wet ingredients to the sifted dry ingredients and stir until combined.
Pour the batter in the prepared pans and bake until a cake tester inserted in the centre comes out clean (about 30 minutes but keep an eye on it after 25 minutes).
For the frosting
The order of these steps is very important! First, in the bowl of an electric mixer fitted with the paddle attachment, beat together the icing sugar and butter until it is smooth.
Then, when the butter and sugar are nice and smooth, add in the cream cheese, and beat until you get a creamy, fluffy frosting, for at least 2 to 3 minutes, if not more.
To assemble
Trim the cakes to level them with a large, serrated bread knife.
Place the bottom layer on a cake turntable (find it on Amazon), and smooth on about ¼ of the frosting. Top with the second layer of cake, frost, and repeat with the third layer. Smooth the last of the frosting on the sides and top of the cake.
You can also bake this recipe in one 3-inch deep 6-inch cake pan. It will take 60 minutes to bake and make sure to check if the cake is done baking in the middle before taking it out of the oven or else there's a risk that the cake collapses.