Preheat your oven to 350°F (175°C) to ensure it's hot and ready when your batter is complete.
In a medium saucepan, combine the 1 cup salted butter and 1 cup shortening. Heat them over low until melted, stirring occasionally. Once melted, remove from heat and let it cool slightly.
Add the 4 tablespoons unsweetened cocoa powder to the melted butter and shortening mixture. Stir until well combined, then add 1 cup water. Mix until smooth.
In a large mixing bowl, whisk together 2 cups all-purpose flour, 2 cups granulated white sugar, 1 teaspoon baking soda, and 1 teaspoon ground cinnamon until evenly mixed.
In another bowl, combine the 1 cup buttermilk, 1 teaspoon vanilla extract, and 2 large eggs, slightly beaten.
Pour the wet ingredients into the dry ingredients, then add the warm chocolate mixture. Mix until just combined, being careful not to overmix.
Pour the batter into a greased 9x13 inch baking pan. Bake for 30-35 minutes or until a toothpick inserted into the center comes out clean.
Once baked, remove the cake from the oven and let it cool in the pan for about 10 minutes. Then transfer it to a cooling rack to cool completely.
In a medium saucepan, melt the remaining 1 cup salted butter over low heat. Stir in 4 tablespoons unsweetened cocoa powder, then gradually add 1 cup milk. Bring to a boil while stirring continuously, then remove from heat.
In a large bowl, combine the chocolate mixture with 1 pound powdered sugar and 1 teaspoon vanilla extract. Beat with an electric mixer until smooth and creamy. Spread the frosting over the cooled cake and top with 1 cup miniature marshmallows.