Preheat your oven to 350 degrees, and generously grease two 8-inch cake pans. Optionally, line the bottom of each pan with parchment paper.
In a large bowl, whisk together the flour, sugar, cocoa powder, salt, instant espresso powder, and baking soda. In a medium bowl, whisk together the milk, oil, sour cream, vanilla extract, and white vinegar. Whisk the wet ingredients into the dry, and whisk until the batter is smooth. Pour evenly into your prepared cake pans, and bake for 32-36 minutes, or until a toothpick comes out clean. Cool the cakes completely before frosting.
In a large bowl, beat together the butter, sour cream, vanilla extract, powdered sugar, cocoa powder, and salt for several minutes. It should be very thick at this point, and you really can't over-beat it. In fact, you want to beat it longer than you might think! Then, beat in the heavy cream for an additional 3-5 minutes, or until the filling is very fluffy!
In a medium heat safe bowl, melt together the dark chocolate and butter in the microwave in 30 second increments until just melted, stirring each 30 seconds. Then, stir in your cold heavy cream, vanilla extract, and salt until combined. Cover, and let it sit at room temp until it has thickened and become spreadable, about 30 minutes-1 hour.
Level off your cakes, and fill with the filling, and use the remaining filling to give the cake a thin crumb coating. Chill the crumb-coated cake for about 30 minutes, and then frost the outside with your prepared, cooled frosting. Add sprinkes and enjoy!!