Simmer 1 inch water in a large pot with steamer basket. Add potatoes; cover and steam 20 to 25 minutes until very tender, checking pot does not boil dry.
Heat oven to 350°F; grease a 2-quart dish. Mash potatoes with filling butter, buttermilk, filling sugar, vanilla, and 1/2 teaspoon salt. Cool until warm; add egg.
Mix pecans, flour, topping sugar, and remaining salt. Rub in cold topping butter to form coarse clumps.
Spread filling in dish; scatter streusel evenly without pressing into a solid layer.
Bake 30 to 35 minutes until topping browns and center reaches 160°F. Rest 10 minutes.