In a medium bowl, combine 1/2 cup of all-purpose flour, 1/4 cup of granulated sugar, 1/2 teaspoon of ground cinnamon, and 1/8 teaspoon of salt. Pour in 1/4 cup of melted unsalted butter and mix until crumbly. Set aside.
In a large mixing bowl, whisk together 3 cups of all-purpose flour, 3 teaspoons of baking powder, 1/2 teaspoon of ground cinnamon, and 1/2 teaspoon of salt. In a separate bowl, cream together 1/2 cup of unsalted butter, 1 cup of granulated sugar, and 1/4 cup of packed light brown sugar until light and fluffy.
To the butter-sugar mixture, add 2 large eggs and 1 egg yolk, mixing until fully incorporated. Then, stir in 1 and 1/2 teaspoons of vanilla extract.
Alternate adding the dry ingredients and the wet ingredients to the butter mixture. Start with half of the dry mixture, followed by 1/2 cup of buttermilk, and then the remaining dry mixture. Finally, fold in 1/2 cup of full-fat sour cream until just combined.
Preheat your oven to 350°F. Line the muffin tin with parchment paper or muffin liners. Spoon the muffin batter into each cup, filling them about two-thirds full. Top each muffin with a generous sprinkle of the prepared streusel topping.
Bake the muffins in the preheated oven for 20-25 minutes, or until a toothpick inserted in the center comes out clean. The tops should be golden brown and slightly domed.
Once baked, remove the muffins from the oven and allow them to cool in the pan for about 5 minutes before transferring them to a cooling rack. While they are cooling, prepare the glaze by whisking together 1 cup of sifted confectioners' sugar, 2 to 3 tablespoons of buttermilk, 1 teaspoon of vanilla extract, and 1/8 teaspoon of salt. Drizzle the glaze over the cooled muffins for an extra touch of sweetness.