Preheat oven to 350°F. Grease and flour three 6-inch round cake pans.
In a medium bowl, using an electric mixer, mix the flour, sugar, baking powder, and salt on low speed until all ingredients are well combined. Add the butter and half of the buttermilk to the flour mixture. Mix at low speed until incorporated. Raise the speed to medium and beat for 2 minutes. Scrape the sides of the bowl as needed.
In a measuring cup, mix the eggs, the other half of the buttermilk, and vanilla. At medium-low speed, gradually add egg mixture to the batter. Mix for 1 more minute at medium-high speed.
Pour half of the batter evenly into prepared pans. Dissolve espresso coffee in water. Add coffee and cocoa to the other half of the batter. Mix for 1 minute until well combined. Pour evenly into the pans and using an offset spatula, create a marble effect. Bake cakes for 20-25 minutes or until a toothpick inserted into the center comes out clean. Remove from the oven and let the cakes cool in the pan for 5 minutes. Remove from pan and cool completely.
Prepare the buttercream. Melt the white chocolate over a double boiler. Allow the chocolate to cool slightly.
In a large bowl, using an electric mixer, beat butter and melted chocolate until well combined. Add powder sugar, vanilla, and salt. Beat at medium speed until light and fluffy.
Assemble the cake. Place one cake layer on a cake stand or a serving platter. Spread ¾ cup of buttercream on the layer and spread with a spatula. Top with the second layer of cake and repeat the process. Top with the last layer of cake and top with 1 cup of buttercream. Spread it around towards the edges of the cake and cover evenly. Place in the refrigerator for 30 minutes to set.
Fill a pastry bag fitted with a 1M (star) tip with the reminder of the buttercream. Remove the cake from the refrigerator and pipe rosettes around the cake. To make the rosettes press buttercream starting in the center, then move the tip slowly in a circle. Repeat all around the cake to cover with rosettes.