In a large saucepan over medium heat, combine blueberries, water, and sugar. Stir frequently, but careful not to crush the berries, bring to a low boil.
In a small bowl, mix the cornstarch with cold water until combined.
Slowly stir the cornstarch into the blueberries, careful not to crush them. Simmer until the homemade blueberry sauce is thick enough to coat the back of a metal spoon, about 10 minutes.
Remove from heat and gently stir in vanilla.
Grease and dust with a bit of flour a 9x13 inch pan and set aside.
In a large mixing bowl whisk together all-purpose flour, sugar, baking powder, baking soda, and salt until combined.
Using a hand mixer to a stand mixer, beat in softened butter into the flour mixture until all combined and crumbly.
Add in eggs, vanilla, lemon juice, lemon zest, and buttermilk and beat until fully combined, the mixture should be fluffy.
Stir in blueberries
Pour half of the batter into the prepared pan and spread it evenly.
In a small bowl, using a fork mix together the softened butter, flour, sugar, lemon zest, and cinnamon until soft crumbs form.
Sprinkle the mixture evenly over the cake batter. Add the remaining cake batter on top.
Add the blueberry pie filling and spread evenly. Set aside.
In a large bowl, mix sugar with cinnamon and salt. Add in the melted butter and combine using a fork.
Once the butter is fully combined, add the flour little by little and mix with a fork or using your hands until fully combined and crumbs are formed.
Sprinkle streusel topping over the blueberry pie filling layer and evenly distribute.
Bake cake in a 350-degree oven for about 45-50 minutes, until fully cooked.
Cool completely before adding the glaze.
Add the powdered sugar to a medium bowl, add two tablespoons of milk and the vanilla extract. Mix until fully combined with no lumps. If the mixture is too thick add one more tablespoon of milk. I like the glaze on the thicker side, yet pourable, so it will look white and shiny, not transparent.
Use a fork or spoon to drizzle the icing over the cake.