Put the flour, sugar, cocoa powder, and baking soda in a large bowl and mix until all the dry ingredients are well incorporated.
In a separate bowl, whisk the oil, vinegar, vanilla, and 1/2 cup water together. With an electric mixer running on low speed in the flour bowl, slowly add the oil mixture, increasing the speed of the mixer as the batter thickens. Continue to beat until all the ingredients are incorporated (scrape any unmixed ingredients from the side of the bowl with a rubber spatula).
Spoon the mixture into the cupcake pan until paper wrappers are two-thirds full; set aside.
For the cheesecake filling:
Beat together the cream cheese, sugar, egg, vanilla, and salt in a freestanding electric mixer with a paddle attachment (or use a hand held electric mixer) on medium-slow speed until smooth and fluffy.
Stir in the chocolate chips by hand until evenly dispersed. Don’t overmix; otherwise the cream cheese will start to split.
Scoop about 1 Tbsp of the cheesecake filling on top of the cupcake mixture in the cupcake pan and bake in the preheated oven for about 20 minutes, or until the cupcakes are firm to the touch and have an even golden color on the cheesecake filling. Don’t overbake as the cheesecake will become very dry and crumbly. Allow the cupcakes to cool slightly in the pan before turning out onto a wire rack to cool completely.
When the cupcakes are cold, spoon the cream cheese frosting on top, if using, and decorate with a light sprinkling of cocoa powder.
For the cream cheese frosting (optional):
Beat the confectioners’ sugar and butter together with an electric mixer (use a the paddle attachment if you’re using a stand mixer) on medium-slow speed and mix well until the mixture comes together.
Add the cream cheese in one go and beat until it’s completely incorporated. Turn the mixer up to medium-high speed. Continue beating until the frosting is light and fluffy, at least 5 minutes. Do not overbeat, as it can become runny. Set aside.