Preheat your oven to 350 degrees F. Grease a 9x13 inch cake pan* with nonstick spray or rub with butter.
Make the streusel: In a large bowl, whisk together 3 cups flour, 1 cup brown sugar, 1/2 cup granulated sugar, 1 teaspoon kosher salt, 1 tablespoon cinnamon, and 1 tablespoon pumpkin pie spice.
Melt 1 cup butter in a medium bowl in the microwave. Pour into the larger bowl and stir the butter into the flour. (save the bowl) You should end up with a bowl of what looks like wet sand, with lots of big chunks. Don't try to smooth it out. It's okay if there is still some loose flour at the bottom. See photo. Set aside. If you have room, place it in the fridge.
For the cake: In a large bowl or stand mixer, whisk together 2 and 1/4 cups flour, 1 and 1/2 cups granulated sugar, 1 tablespoon baking powder, 3/4 teaspoon baking soda, 3/4 teaspoon kosher salt, 1 tablespoon pumpkin pie spice, and 1 teaspoon cinnamon
Chop 1/2 cup softened butter into chunks. You want the butter to sit out of the fridge for several minutes to that it's not rock-hard, but don't let it soften so much that it's completely creamy. Add the chopped butter to the flour mixture.
Open up your can of pumpkin puree. Use a spatula to get a big ol scoop of pumpkin (about half the can), and add it to the bowl with the flour and butter. Use the paddle attachment (or electric beaters) to blend the butter and pumpkin into the flour. Eventually the butter will moisten the flour and it will all come together in a ball. Scrape the bottom and sides of the bowl as necessary. Don't over mix, just beat until all the butter is incorporated. Add a few extra dollops of pumpkin puree if the mixture doesn't come together.
In the same medium bowl that you melted butter in, add all the remaining pumpkin from the can. Whisk in 4 eggs, 1/4 cup vegetable oil, and 1 tablespoon vanilla. Beat well with a whisk until the eggs are well blended.
Add the egg mixture to the flour mixture in 3 additions, beating for about 20 seconds after each one. Once all the egg mixture is added, beat for another 1 minute until the batter is light and fluffy.
Spread 2 cups of batter into the bottom of your prepared cake pan. Sprinkle 1 cup of streusel evenly over the top, breaking up any too-large pieces with your hands.
Spread another 2 cups batter on top and spread it around as best you can.
Add another 1 cup streusel on top.
Add the rest of the batter and spread evenly.
Evenly spread another 2 cups of streusel on top of the cake. Do NOT add all the remaining streusel! There will be some left over. Store the remaining streusel in the fridge, if you have room.
Bake the cake at 350 for 35 minutes.
Do this next part fast. Remove the cake from the oven and shut the oven door. Use your hands to sprinkle all the remaining streusel on top of the cake, focusing on any areas where the cake batter has puffed up from the center. Move quickly! Get the cake back in the oven as soon as you can, and keep the oven door shut as much as possible.
Bake for another 10-15 minutes.* The total bake time for the cake should be about 45-50 minutes, depending on your oven and whether you use a glass or metal pan. Test the cake with a toothpick. It is done when a toothpick inserted in the center comes out with no wet batter on it. The cake should not wobble around at all when you shake the pan.
Let the cake cool on a wire rack for at least 15-20 minutes before cutting into it.
Make the icing: In a medium bowl, beat 1/4 cup butter until smooth. (I actually did it by hand with a whisk. You can do this if your butter is ultra soft.)
Add 1 teaspoon vanilla, 1/2 teaspoon kosher salt (use less for table salt!), 3 tablespoons milk, and 2 cups powdered sugar. Beat with a mixer or by hand until very smooth. Add milk 1-2 teaspoons at a time if it is too thick.
Drizzle the icing over the cake. You can either drizzle it over the whole cake or drizzle each individual serving. I like to drizzle about half the icing over the whole cake, and then save the rest of drizzling over each serving.
The cake is best served warm! Zap individual servings in the microwave for 10-20 seconds if you are serving after the cake has cooled.
This cake will keep well covered on the counter for 2-3 days. After that, put it in the fridge.