Preheat the oven to 350°F. Line 12 muffin cups with cupcake liners; set aside.
In a large bowl, beat the butter and sugar together until light and fluffy, about 5 minutes. Add the eggs, one at a time, mixing well after each addition. Beat in the lemon zest and vanilla.
In a small measuring cup with a pour spout, stir together the lemon juice and milk. Set aside.
Combine the flours, baking powder, and salt in a medium bowl. Stir with a whisk and add it to the butter mixture alternately with the milk mixture, beating well after each addition.
Divide the batter evenly among the prepared muffin cups. Bake for 18-20 minutes or until a toothpick inserted into the center comes out with only a few dry crumbs.
Cool for 10 minutes. Remove cupcakes from the pan and cool completely on a wire rack.
Frost the cupcakes any way you like.
Make the frosting
In a stand mixer fitted with a paddle attachment or with an electric hand mixer, beat the butter on medium-high speed until smooth.
Add the salt and continue to beat until incorporated. Add 1 cup of the icing sugar, beat on medium-low speed until most of the sugar is moistened.
Gradually add in the remaining sugar, one cup at a time. You may need more or less depending on how soft the butter is. Beat on medium-low speed until the sugar is moistened.
Add the 2-3 tablespoons of lemon juice depending on how creamy you want the frosting to be. Turn the speed up to medium-high and beat until light and fluffy. Scrape down the sides of the bowl as needed.
In a piping bag, insert a star tip and pipe frosting.