Preheat oven to 350° F and set one rack to the middle position.
Prepare two 9-inch cake tins by greasing them, covering the bottom in a circle of parchment paper, and dusting the sides with flour.
In a small mixing bowl, whisk together the flours, cocoa powder, baking powder, baking soda, and salt.
In a liquid measuring cup or bowl, whisk together the buttermilk, sour cream, vegetable oil, vanilla, vinegar, and food coloring.
In the bowl of a stand mixer, or in a large mixing bowl with a hand-held mixer, cream together the butter and sugar on medium speed until white and fluffy.
Add in the eggs, one at a time, mixing until combined and scraping down the sides of the bowl after each addition.
Into the egg, sugar, and butter mixture, beat in one-third of the dry ingredients, then one-third of the wet ingredients, alternating until all the ingredients have been added
Turn off the mixer just before everything is combined. Scrape the sides of the bowl one last time and give everything one final stir.
Divide the batter equally into both tins. It helps to weigh them on a digital scale to ensure evenness.
Bake on the middle rack for about 30-32 minutes or until a cake tester comes out clean and the cake’s top bounces back when gently pressed.
Let the cakes cool in their tins for about 10 minutes then turn them out onto wire racks to finish cooling.
Make the cream cheese frosting. In the bowl of a stand mixer fitted with the paddle attachment, cream together the butter, powdered sugar, and a pinch of salt until white in color and fluffy. Add in the vanilla and cream cheese and beat on low for about 30 more seconds.
Once the cakes are fully cooled, it's time to assemble. If your cakes have a domed top, you can level them off with a bread knife and reserve the tops. Frost and decorate the cake however you like. I used the reserved cake tops to crumble up and sprinkle on the cake at the end.