Preheat oven to 375°F and position the rack in the middle. Line a 12-cup muffin tin with paper liners for easy release.
Make the streusel: In a medium bowl, combine ½ cup flour, brown sugar, and cinnamon. Add cold butter cubes and work them in with your fingertips until crumbly, with pea-sized bits. Chill in the fridge while you make the batter.
For the muffin base, whisk together flour, baking powder, baking soda, salt, and spices in a large bowl. Break up any clumps to avoid pockets of spice.
In a separate bowl, cream softened butter and sugar with an electric mixer until light and fluffy (about 2-3 minutes). Scrape the bowl, then beat in eggs one at a time. Add vanilla and mix until combined.
Alternate adding dry ingredients and buttermilk in three parts, starting and ending with flour. Mix on low just until combined after each addition, then stop to avoid overmixing.
Divide batter among muffin cups (¾ full). Use an ice cream scoop for even portions. Sprinkle chilled streusel on top and gently press it in.
Bake for 18-22 minutes or until a toothpick comes out clean or with a few moist crumbs. The tops should spring back when gently pressed. Let cool in the pan for 5 minutes before transferring to a wire rack.
For the glaze, whisk powdered sugar, vanilla, and 2 tablespoons milk. Add more milk, a few drops at a time, until it ribbons off the whisk. It should be thin enough to drizzle but thick enough to set.
Drizzle glaze over slightly warm muffins in a zigzag pattern, letting it set as it cools.