Preheat the oven to 350 F and line a greased 8 or 9” square pan with parchment paper.
In a bowl, zest the lemons over the sugar. Rub between your fingers to release the oils. Add the butter and heat the bowl for about a minute, until the butter is melted. Whisk for a full two minutes, it should become cohesive and shiny.
Add the vanilla, salt, and extract. Whisk well. Add the eggs, whisk vigorously until thick and shiny.
Fold in the flour. Spread into prepared pan and bake for about 30 minutes, until the top is golden and middle has puffed up and fallen back down.
For the glaze: whisk all ingredients together adding lemon juice as needed until you get your desired consistency (less juice for a thicker glaze, more for a thin, runny type). Spread over cooled brownies. Zest a lemon over the glaze, if you like.
For the buttercream: Beat together the butter and cream cheese until there’s no lumps. Add vanilla and sea salt and beat to combine. Add the powdered sugar (sift it if lumpy) and beat to combine. Spread over cooled brownies.
For the lemon penuche frosting: Set the butter in a small pot over medium heat. Once it starts to melt add the sugar and salt. Stir, as the butter fully melts. Once the mix starts to bubble, let it boil for 3 minutes then add the lemon juice and stir to combine. Again wait for it to bubble, and let it boil for another 2-3 minutes. Remove from the heat and add the powdered sugar and vanilla. Whisk until smooth. Pour the penuche frosting over the cooled brownies and leave to set. It will take at least an hour but the setting process can be sped up if chilled.