Preheat the oven to 350°F. Grease two 8-inch round cake pans and line the bottoms with parchment paper.
In a medium bowl, whisk together 2 1/2 cups of the flour with the baking powder, baking soda and salt. Set aside.
In a large bowl, rub the lemon zest into the sugar with your fingertips until fragrant and slightly damp. Whisk in the yogurt, milk, lemon juice, oil, melted butter and vanilla until smooth.
Add the dry ingredients to the wet mixture and fold gently just until combined. Toss the blueberries with the remaining 1 tablespoon of flour, which helps keep them from sinking.Gently fold the blueberries into the batter, then divide it evenly between the pans and smooth the tops.
Bake for 30-35 minutes, until golden and a toothpick inserted in the center comes out clean. Cool in the pans for 10 minutes, then transfer to a wire rack and cool completely.
For the frosting, beat the cream cheese and butter for 2 minutes until smooth and creamy. Add the powdered sugar, lemon zest, lemon juice and salt, then beat on medium high until fluffy.
Place one cake layer on a plate, spread with frosting and top with the second layer. Frost the top and sides, then scatter the fresh blueberries and lemon zest over the top.Chill for 20 minutes to set the frosting before slicing.