Cook the sweet potatoes: place the chunks in a large pot, cover with cold salted water, bring to the boil and simmer 15–20 minutes until completely tender when pierced. Drain well and return to the hot pot for 1 minute to steam off excess water. (Roasting route: bake whole scrubbed sweet potatoes at 400°F / 200°C for 45–60 minutes until soft, then scoop the flesh from the skins — use about 3 cups / 700 g mashed flesh and skip to step 3.)
Heat the oven to 350°F / 175°C. Lightly grease a 9x13-inch (23x33 cm) baking dish or a 2.5-quart oven dish.
Mash the sweet potatoes in a large bowl until smooth. Stir in the melted butter, both sugars, milk, eggs, vanilla, cinnamon, nutmeg and salt until evenly combined and glossy. Spread the filling level in the dish.
Make the topping: stir together the brown sugar, flour, pecans and salt. Rub in the cold butter with your fingertips until the mixture looks like coarse crumbs with pea-sized pieces. Scatter it evenly over the filling, edge to edge, without pressing down.
Bake 30–35 minutes, until the topping is deep golden and crisp and the filling is hot through and just set at the edges (it will still have a slight wobble in the centre). If the topping browns early, tent loosely with foil for the last 10 minutes.
Rest 10 minutes before serving — the filling firms up and scoops cleanly. Serve warm.