To make the cake, preheat the oven to 325˚ F. Line 2 cupcake tins with paper liners. In a medium bowl, combine the flour, baking powder and salt; stir with a fork to blend. In the bowl of a stand mixer fitted with the paddle attachment, cream together the butter and sugar on medium-high speed until light and fluffy, 3-5 minutes. Blend in the eggs one at a time, mixing well after each addition and scraping down the sides of the bowl as needed. Beat in the lemon zest and vanilla. With the mixer on low speed, mix in the dry ingredients in three additions alternating with the buttermilk, beginning and ending with the dry ingredients. Beat each addition just until incorporated.
Separate the batter into four bowls, being careful to add an equal amount to each. Color each bowl according to your preference. I added 1 drop of red food coloring to the first bowl, 3 to the second, 5 to the third, and 7 to the fourth. Starting with the darkest color, add a small amount of batter (I used about a tablespoon) to each cupcake liner. Repeat with each color, going from darkest to lightest. The cupcake liners should end up about 3/4 full. Bake at 325 for 20-24 minutes, or until a toothpick inserted into the center of a cupcake comes out clean. Let cool in pan for 5-10 minutes, then remove to a cooling rack.
Whisk together the flour and the milk. Heat in a small sauce pan on medium heat. Whisk continuously until it starts to thicken. Let it cook, while stirring with a rubber spatula, until you can start to see the bottom of the pan. Continue to cook until the mixture has the consistency of thick pudding or paste.
Put mixture in the fridge and let it cool completely, it’s fine if it stays in there long enough to get chilly, you just don’t want it warm at all. As it’s cooling, feel free to stir it occasionally to speed up the process and keep it from forming a crust on top.
It an electric stand mixer, beat the butter and the sugar using the whisk attachment for a minute or two until well combined and fluffy. While beating, add in the thickened milk mixture and the vanilla. Beat to combine and then scrape down the sides. Mixture will separate and look messy, keep beating! Continue beating until mixture comes together and is light and fluffy, about 7-8 minutes, but time varies. Take a sample of frosting between your fingers; frosting is done when light and fluffy and sugar granules are dissolved.