Preheat the oven to 400°F. Prick the sweet potatoes with a fork, place them on a lined baking sheet, and roast for 50-60 minutes until completely soft. Roasting instead of boiling gives a deeper, caramelized flavor.
Let the sweet potatoes cool slightly, then scoop the flesh into a large bowl and lower the oven to 350°F. Mash until smooth with the melted butter, brown sugar, oat milk, vanilla, cinnamon, nutmeg, and salt.Once the mixture is just warm rather than hot, beat in the eggs until fully combined.
Grease a 2 quart (8x11 inch) baking dish and spread the sweet potato mixture evenly inside.
For the streusel, mix the brown sugar, flour, cinnamon, and salt in a bowl. Work in the cold butter with a fork or your fingertips until the mixture forms clumps, then stir in the pecans. Scatter it evenly over the sweet potatoes.
Bake for 30-35 minutes until the filling is set and the topping is golden and crunchy. Let it rest for 10 minutes before serving.