Preheat oven to (177°C). Line a muffin pan with cupcake liners.
Either with a handheld or stand mixer with a whisk, beat 2 egg whites on high in a bowl until soft peaks form, about.
Sift the flour and cornstarch together. Whisk along with baking soda, cocoa powder, and salt in a bowl.
With the mixer, beat the butter on high until smooth and creamy. Add the sugar and beat on high until creamed together. Scrape down the sides and up the bottom of the bowl with a rubber spatula as needed. Add the oil and beat on high for 2 minutes.
Add 2 egg yolks and the vanilla. Beat on medium-high speed until combined. Scrape down the sides and up the bottom of the bowl with a rubber spatula as needed. Beat in the vinegar and the food coloring. With the mixer on low speed, add the dry ingredients in three additions alternating with the buttermilk, beginning and ending with the dry ingredients, and mixing each addition just until incorporated. Fold whipped egg whites into cupcake batter with a rubber spatula or wooden spoon. The batter will be silky and slightly thick.
Spoon batter into cupcake liners filling 1/2 – 2/3 of the way full. Bake for 20-21 minutes or until the tops of the cupcakes spring back when gently touched and a toothpick inserted in the center comes out clean. Don’t overbake; your cupcakes will dry out. Allow to cool in the pan for 5 minutes, then transfer to a rack to cool completely.
Prepare cream cheese frosting. Frost cooled cupcakes immediately before serving. I used a Wilton #12 tip; I don’t recommend a star tip. This frosting is a little too thin.