Begin by preheating your oven to 400°F (200°C) and lining a muffin tin with paper liners. In a large bowl, sift together the flour, sugar, baking powder, and salt, then set this dry mixture aside.
In a separate medium bowl, whisk the eggs until smooth. Add the melted butter, milk, and vanilla extract, whisking until the ingredients are fully incorporated. Gradually combine this wet mixture with the dry ingredients, stirring gently until just combined—the batter should remain slightly lumpy. Gently fold in the blueberries, being careful not to overmix.
For the streusel topping, combine the flour, brown sugar, granulated sugar, cinnamon, and salt in a small bowl. Using a pastry cutter or two knives, cut the cold butter into the dry ingredients until the mixture forms coarse crumbs.
Spoon the muffin batter into the prepared muffin tin, filling each cup about ¾ full. Evenly distribute the streusel topping over each muffin, using roughly 1 tablespoon per muffin.
Bake for 18 to 22 minutes, or until the tops of the muffins spring back when gently pressed and a toothpick inserted in the center comes out clean. Once baked, allow the muffins to cool for a few minutes in the tin, then transfer them to a wire rack to cool completely. Store in an airtight container for up to 4 days.