Add the chopped sweet potatoes and 1 tablespoon of salt to a large pot of cold water. Bring to a boil and cook for 15 minutes, or until very tender. Drain and let cool slightly.
Transfer the sweet potatoes to a large bowl. Add the butter, remaining tablespoon of salt, the milk, and eggs. Mix with an electric hand mixer until the potatoes are mashed and everything is well incorporated.
Transfer half of the sweet potatoes to another large bowl.
Make the sweet base: To a bowl, add the brown sugar, cinnamon, nutmeg, and vanilla. Mix well to combine.
Make the savory base: To the other bowl, add the green onions, garlic, and pepper. Mix well to combine.
Spread the sweet base in one side of a 9x13-inch (23x33-cm) baking dish. Press the uncooked sweet potato slices against the exposed side of the sweet base as a divider, then spread the savory base in the other side of the pan.
Make the sweet topping: In a small bowl, combine the butter, brown sugar, flour, and pecans, and mix until crumbly. Sprinkle over the sweet base.
Make the savory topping: In another small bowl, combine bread crumbs, salt, pepper, bacon bits, and oil, and stir to combine. Sprinkle the crumbs over the savory base.
Bake the sweet potato casserole for 20-25 minutes, or until golden brown.
Remove the casserole from oven and top the sweet side with the halved marshmallows, cut-side down.
Return to the oven and broil on high for 1-2 minutes, or until the marshmallows are golden brown and toasted.
Remove the casserole from the oven and sprinkle the savory side with green onions.