Preheat oven to 400°F. Toss cubed butternut squash, brussels sprouts, and apples in olive oil. Sprinkle with salt and pepper and spread out on a lined baking tray. Roast for 15-20 minutes, until squash is tender, stirring halfway to keep brussels sprouts from burning. Remove from oven and set aside.
In a large, heavy-bottomed skillet or Dutch oven, sauté onion, celery and garlic in vegan butter until tender. Pour in vegetable broth and stir in poultry seasoning and any herbs. Toss in stale bread and stir until bread completely absorbs broth. Adjust salt and pepper to taste.
Stir in roasted veggies, cranberries, and nuts/seeds (if using). Transfer to a greased casserole dish, or bake directly in Dutch oven if using. Bake for 30 minutes, until the top of the stuffing is crispy and golden brown.