Preheat the oven to 350°F.
Line a cupcake pan with paper liners and set aside.
In the bowl of a stand mixer, combine the cake flour, all-purpose flour, granulated sugar, baking powder, and kosher salt.
Mix on low speed for 1 minute.
With the mixer on low speed, add the butter a few cubes at a time.
Continue mixing until all the butter has been added and the mixture resembles coarse sand.
Keep the mixer on low speed.
Add the eggs one at a time, scraping down the sides of the bowl between each addition.
Slowly pour in the whole milk and vanilla extract.
Mix until combined.
Increase the mixer speed to medium.
Beat for 2 minutes, or until the batter is smooth.
Scrape down the sides of the bowl as needed.
Using a rubber spatula, gently fold in the rainbow sprinkles.
Fill each cupcake liner about two-thirds full, using approximately 1/4 c batter per cupcake.
Bake for 15 to 20 minutes, or until the centers are set and a toothpick inserted into the center comes out clean.
Allow the cupcakes to cool in the pan for 10 minutes.
Transfer the cupcakes to a wire rack.
Allow them to cool completely before frosting.
To prepare the frosting, place the room-temperature butter in the bowl of a stand mixer fitted with the wire whisk attachment.
Whip the butter on medium-high speed for 5 minutes, stopping once or twice to scrape down the bowl.
Reduce the mixer speed to low.
Gradually add the powdered sugar.
Once the powdered sugar is fully incorporated, increase the mixer speed to medium-high.
Add the vanilla extract.
Whip for approximately 2 minutes, or until the frosting is light and fluffy.
Scrape down the bowl as needed.
Frost the cooled cupcakes as desired.
Garnish with additional rainbow sprinkles.
Store frosted cupcakes in an airtight container at room temperature for up to 3 days.