Preheat oven to 350°F. Line two muffin pans with 15 cupcake liners and set aside.
In a large mixing bowl, mix together the flour, baking powder, and salt. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment, or in a large mixing bowl using a hand-held mixer, beat the butter and granulated sugar together until light and fluffy. Mix in each egg one at a time, then the vanilla extract, making sure to mix well after each ingredient. Add the lemon juice and lemon zest, mix until well combined, then mix in the milk and sour cream until fully combined.
Add the dry ingredients to the wet ingredients and mix until just combined, making sure not to overmix the batter. Use a rubber spatula or spoon to turn the batter and make sure everything is well combined.
Evenly distribute the batter between all 15 cupcake liners, making sure to only fill them a little over halfway full. Bake in batches at 350°F for 18-22 minutes or until a toothpick inserted into the center of the cupcakes comes out clean and the tops spring back when lightly touched.
Remove from the oven, then carefully remove the cupcakes from the pan and transfer to a wire rack to cool.
In the bowl of a stand mixer fitted with the paddle attachment, or in a large mixing bowl using a hand-held mixer, beat the butter until smooth. Mix in the powdered sugar, heavy cream, and vanilla extract until well combined. Add in the raspberry preserves (or jam) and salt and continue mixing until fully combined.