Preheat oven, prep pans, and combine dry ingredients: Preheat oven to 350°F. Butter two 8-by-2-inch round cake pans; dust with flour, tapping out excess. In a large bowl, whisk together flour, sugar, cocoa, baking powder, baking soda, and salt.
Add wet ingredients: Whisk in eggs, buttermilk, water, vanilla, and oil.
Move batter to pans and bake: Divide batter evenly between prepared pans. Bake until tops spring back when lightly pressed, about 30 minutes.
Cool cakes on rack: Transfer pans to a wire rack; let cool 15 minutes.
Remove cakes from pans and cool: Invert cakes onto rack, remove parchment, then turn top-side up (to prevent sticky tops from sticking to rack); let cool completely.
Trim top layer: For a more refined look, trim the domed top of the cake so it is flat before layering and frosting.
Combine sugar, cocoa, and salt for frosting (optional): Sift together sugar, cocoa, and salt.
Mix cream cheese and butter: Beat cream cheese and butter with a mixer on medium-high speed until smooth.
Add sugar-cocoa to butter mixture Reduce speed to medium-low; gradually add sugar-cocoa mixture, and beat until combined.
Add chocolate: Pour in chocolate in a slow, steady stream.
Mix in crème fraîche: Add crème fraîche; beat until combined.
Fill cake with frosting: Spread 1 ½ cups frosting over top of one cooled cake layer.
Assemble cake: Top with remaining layer.
Add crumb coat: Spread a thin coat (about 1 cup) of frosting over top and sides of cake to create a "crumb coat."
Frost cake: Refrigerate about 20 minutes, then frost top and sides of cake with remaining frosting.
