Preheat your oven to 350°F (175°C). Line your muffin tin with cupcake liners while you prepare the batter.
In a large bowl, whisk together the all-purpose flour, cake flour, baking powder, kosher salt, and ground cinnamon. Set this mixture aside.
In another large mixing bowl, beat the unsalted butter and sugar together using an electric mixer on medium speed until the mixture is light and fluffy, about 3-4 minutes.
Add the eggs, one at a time, mixing well after each addition. Then, mix in the vanilla extract until well combined.
With the mixer on low speed, gradually add the dry ingredient mixture to the butter mixture, alternating with the milk. Begin and end with the dry ingredients. Mix until just combined; be careful not to overmix.
Using a scoop or spoon, fill each cupcake liner about two-thirds full with batter. This will allow room for rising.
Place the muffin tin in the preheated oven and bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Once baked, remove the cupcakes from the oven and let them cool in the pan for about 5 minutes. Then transfer them to a wire rack to cool completely.
While the cupcakes are cooling, make the cream cheese frosting. In a medium bowl, beat the cream cheese and unsalted butter together until smooth. Add the vanilla extract, ground cinnamon, and powdered sugar gradually, mixing until the frosting is creamy and fluffy.
Once the cupcakes are completely cool, frost each cupcake generously with the cream cheese frosting.
In a small bowl, mix the cinnamon and sugar for the topping. Sprinkle this mixture over the frosted cupcakes for that classic snickerdoodle finish.