Whisk together the flour, baking powder, baking soda, and salt in a medium mixing bowl and set aside.
Add the sugar, oil, and melted butter in a separate large mixing bowl, and use an electric mixer to mix until light and fluffy.
Mix in the eggs, one at a time, until they are just incorporated, then add the vanilla extract and sour cream, and mix until combined.
Pour in about a third of the dry ingredients and mix at low speed. Then, pour in about a third of the buttermilk and continue mixing. Continue alternating the dry ingredients and buttermilk until they have been just mixed in to form a thick, wet batter. Be careful not to overmix the batter, or the crumb will be too tight and bread-like. Cover the batter with plastic wrap, and let it rest on the counter for 20 minutes.
While the batter is resting, preheat the oven to 425°F. You want the oven to have time to heat to the correct temperature. You’ll also want to line (2) 12-cup muffin pans with 6 cupcake liners each, skipping every other cup.
In a small bowl, stir the brown sugar and cinnamon until completely mixed. Set aside.
Add the melted butter, brown sugar, flour, and cinnamon in a medium bowl, and use a wooden spoon to stir until the mixture starts to clump together. Use your fingers to crumble the mixture into small pieces.
Once the batter is done resting, use a medium (1½ tablespoon) cookie scoop to drop level scoops of batter into each cupcake liner. Use a small spatula to carefully push the batter to the edges of the liner.
Spoon 1 teaspoon of the cinnamon filling into the middle of each of the muffins. Try to keep the cinnamon sugar in the middle without it spreading too far to the edge or the muffins may have a split in the middle after they bake.
Scoop another 2 tablespoons of batter and put it on top of the cinnamon layer of each muffin. Carefully smooth it out without mixing the cinnamon sugar too much.
Sprinkle the tops of the muffins with another 1 teaspoon of the cinnamon sugar, then sprinkle with about 1 tablespoon of streusel topping each.
Bake the muffins, one pan at a time, on the middle rack of the oven for 5-6 minutes, then lower the temperature to 350°F and bake for another 12-13 minutes or until a toothpick inserted in the center of the muffins comes out clean. Let the muffins cool for 10 minutes in the pan before transferring them to a rack to cool to room temperature.
After the muffins have cooled, use an electric mixer to beat the cream cheese until smooth. Mix in the powdered sugar and vanilla extract, then gradually add the milk until the glaze is smooth.
For a thinner glaze, add more milk, 1 tablespoon at a time, until you reach the desired consistency.
Drizzle the glaze over the muffins. Serve at room temperature and store in an airtight container in the refrigerator for up to 4 days.
