Line 2 cupcake tins with liners and preheat the oven to 350 degrees F.
In a liquid measuring cup or a medium mixing bowl whisk together the buttermilk, melted and cooled butter, oil, egg whites, and vanilla extract until well combined.
In a separate medium mixing bowl whisk together the flour, sugar, baking powder, baking soda, and salt.
Pour the wet ingredients into the dry ingredients bowl and mix until just combined.
Pour half the batter into a separate bowl. To one bowl add the extra flour and vanilla extract and mix until just combined.
To the second bowl add the cocoa powder and mix until just combined.
Fill each liner with half chocolate batter and half vanilla batter, alternating with a spoonful of each at a time. Fill each liner 2/3 full.
Use a toothpick to swirl the batters together.
Bake for 17-19 minutes or until a toothpick inserted comes out with a few moist crumbs.
Let the cupcakes cool in the tin for 5 minutes before removing to a wire cooling rack to finish cooling all the way.
To make the frosting, in the bowl of a stand mixer fitted with a paddle attachment add the butter. Whip for 2-3 minutes until the butter is light and fluffy.
Add the powdered sugar, 4 tablespoons of heavy cream, and vanilla extract and mix on low at first until combined and then on high until light and fluffy, at least 5 minutes. If the frosting is too thick, add an additional tablespoon of heavy cream and mix again.
Remove half of the frosting to a bowl.
To the remaining frosting in the stand mixer bowl add the cocoa powder and additional heavy cream. Mix until fully combined.
In a piping bag fitted with an open star tip add the vanilla frosting on one side and the chocolate frosting on the other side.
Pipe completely cooled cupcakes with swirls.