Preheat oven to 400°F. Line a rimmed baking sheet with parchment paper. Cut the butternut squash in half lengthwise, scoop out the seeds, and place cut side down on the baking sheet. Roast for 40-50 minutes until fork-tender. Let cool for 10 minutes before handling.
Scoop the roasted flesh from the skin into a large mixing bowl. Mash with a potato masher until mostly smooth, or use a hand mixer for a silkier texture. Measure out about 4 cups of mashed squash.
Reduce oven temperature to 350°F. To the mashed squash, add granulated sugar, brown sugar, melted butter, eggs, milk, vanilla extract, cinnamon, nutmeg, and salt. Mix until fully combined and smooth. Taste and adjust sweetness if desired.
Grease a 9x13 inch baking dish with butter or nonstick spray. Pour the squash mixture into the prepared dish and spread into an even layer with a silicone spatula.
In a medium bowl, combine the flour, brown sugar, cinnamon, and a pinch of salt for the streusel. Pour in the melted butter and stir until coarse, damp crumbs form. Fold in the chopped pecans until evenly distributed.
Sprinkle the pecan streusel evenly over the top of the squash mixture. Bake for 35-40 minutes until the topping is golden brown and the center is set. Tent with foil if the topping browns too quickly.
Remove from the oven and let rest for 10 minutes before serving. Scoop into portions and serve warm alongside your favorite main dish.