To make the yellow cake: Preheat the oven to 350°F (180°C). Spray three 8-inch round cake pans with nonstick cooking spray, line the bottom of each pan with parchment paper, and set aside.
In a large mixing bowl, whisk the cake flour, baking powder, baking soda, and salt together until well combined. Set aside.
In a large bowl or measuring cup, whisk the buttermilk, oil, and vanilla extract together until well combined. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment or in a large mixing bowl using a handheld mixer, beat the butter on low speed until smooth, then slowly mix in the granulated sugar.
Once all of the sugar is added, increase to medium speed and continue mixing for another 4 to 5 minutes or until the mixture is light and fluffy.
Mix in the egg yolks, one at a time, making sure to stop and scrape around the bottom and sides of the bowl as needed.
Add the dry ingredients in three additions alternating with the buttermilk mixture (begin and end with the dry ingredients) on low speed. Mix in each addition until just combined, making sure not to over mix the batter.
Use a rubber spatula to scrape around the bottom and sides of the bowl to ensure that everything is well combined. Set aside.
Add the egg whites to a separate large mixing bowl and beat to stiff peaks.
Gently fold half of the egg whites into the cake batter until just combined, then fold in the remaining egg whites.
Evenly divide the cake batter between the three prepared cake pans and spread it around into one even layer. Gently tap the pans on the counter to bring any air bubbles to the top.
Bake for 25 to 30 minutes or until a toothpick inserted into the center of the cakes comes out clean. Remove from the oven and allow to cool in the pans for about 20 to 30 minutes. Run a knife around the outside of the cakes, then carefully remove the cakes from the pans, and transfer to a wire rack to cool completely.
To make the chocolate buttercream frosting: In the bowl of a stand mixer fitted with the paddle attachment, or in a large mixing bowl using a handheld mixer, beat the butter on medium speed for 1 to 2 minutes or until smooth.
Add the powdered sugar one cup at a time, making sure to mix well after each addition. Scrape down the sides of the bowl, then add the cocoa powder and mix until fully combined.
Add the milk, vanilla extract, and salt and mix on medium speed until fully combined, making sure to stop and scrape down the sides of the bowl as needed.
To assemble the cake: Level the tops of each cake layer with a knife or cake leveler.
Add a tablespoon of buttercream to the center of a cardboard cake round or a cake stand to help the cake stick to the surface.
Place the first layer of cake onto your work surface. Scoop ¾ cup of frosting onto the first layer of cake and spread it around into one even layer with an angled spatula or the back of a spoon.
Place the second cake layer upside down on top of the frosted cake layer. Spread another ¾ cup of frosting on top and spread it around into one even layer.
Place the third cake layer upside down on top of the frosted cake layer. Use the remaining frosting to frost the top and sides of the cake. Top with sprinkles, if desired.