Preheat oven to 350°F. Grease a 9-inch square tin and line with parchment paper.
Cook the blueberries, salt, granulated sugar and lemon juice in a small saucepan over medium heat, breaking up the berries as much as possible, until thick and reduced to about 3/4-1 cup. Remove from heat and allow to cool.
For the cake: In a small mixing bowl, whisk together the flour, cornmeal, baking soda, baking powder and cinnamon. Set aside.
In a large mixing bowl using a hand mixer, or in a stand mixer fitted with the paddle attachment, beat the butter and sugar until fluffy and pale in color. Add the eggs in one at a time on medium low speed, allowing each to fully mix in before adding the next. Mix in the vanilla with the last egg just until smooth.
Alternating additions, mix in half the dry ingredients on low speed, then half the sour cream and milk. Repeat until all ingredients are combined and beat just until smooth.
Make the crumble topping, stir together the melted butter, brown sugar, cinnamon and salt in a small mixing bowl. In a small bowl, mix 1/2 cup of the crumble topping with the blueberry mixture, trying to smooth out any lumps.
Spread out half the batter into the bottom of the tin, then spread the filling evenly over top. Dot the filling with scoops of the remaining batter (I find a cookie scoop works well for this but you can also just use a spoon.) Spread out the batter evenly, connecting the dots, with a small offset spatula.
Sprinkle the batter with the remaining crumble topping and about a half cup more blueberries.
Bake for 32 minutes on the middle rack or until a wooden skewer comes out of the center with just a few crumbs.
Allow to cool completely on a wire rack before serving.