Preheat the oven to 350°F (175°C). Line a 12-cup muffin pan with cupcake liners.
In a medium bowl, whisk together flour, baking powder, cinnamon, and salt. Set aside.
In a large bowl, cream the softened butter and granulated sugar using an electric mixer on medium speed until light and fluffy, about 2 to 3 minutes.
Add the eggs, one at a time, mixing until each is combined, then mix in vanilla extract.
Add the flour mixture in two additions, alternating with milk, mixing until just combined. Do not overmix.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full.
Bake for 16 to 18 minutes, or until a toothpick inserted in the center comes out clean.
While the cupcakes are still warm, brush the tops gently with melted butter. Mix the 2 tablespoons sugar and 1/2 teaspoon cinnamon in a small bowl, then sprinkle generously over each cupcake. Let them cool completely on a wire rack.
For the frosting, beat the softened butter on medium speed until creamy, about 2 minutes.
Gradually add powdered sugar, one cup at a time, beating well after each addition.
Add cinnamon, vanilla extract, and 2 tablespoons heavy cream. Beat on high until the frosting is fluffy and smooth, about 2 more minutes. Add an extra tablespoon cream if needed for consistency.
Pipe or spread the frosting on cooled cupcakes. Garnish with a mini churro or churro bite if desired.