Preheat your oven to 350°F (175°C) and line cupcake pans with paper liners. In a large bowl, whisk together the flour, sugar, cocoa powder, salt, and baking soda. In a separate large measuring cup or bowl, combine the eggs, oil, buttermilk, white vinegar, and vanilla extract, whisking until fully blended. Gradually add the wet ingredients to the dry mixture and beat with a hand mixer until smooth. Slowly incorporate the red food coloring, mixing gently until evenly combined.
Spoon about 2 to 3 tablespoons of batter into each cupcake liner, filling them roughly halfway.
To prepare the cheesecake filling, use a hand mixer to beat the cream cheese, sugar, vanilla, and sour cream until smooth and creamy. Drop about 1 to 1 ½ tablespoons of this cheesecake mixture on top of each cupcake batter portion. Using the back of a spoon, gently spread the filling, avoiding the edges to keep the cupcakes looking neat.
Bake for approximately 15 to 18 minutes, or until a toothpick inserted into the cake portion comes out clean; the cheesecake center may still be slightly jiggly. Allow the cupcakes to cool to room temperature, then chill them in the refrigerator for at least 2 hours before frosting. (Note: Once cooled, the cupcakes can be frozen and frosted later.)
For the frosting, cream together the butter and cream cheese using a hand or stand mixer until light and fluffy. Gradually add powdered sugar, salt, and vanilla extract, mixing until smooth and well combined.
Pipe or spread a small amount of frosting on top of each cupcake. For a decorative finish, use a pastry bag fitted with a 1M tip. Store the frosted cupcakes in the refrigerator for up to 3 days.