In a large pan, heat 3 tablespoons of the olive oil over medium-high heat until hot. Add the onion and saute until translucent and tender, 3 to 5 minutes. In stages, add the spinach and cook until all of the spinach is incorporated and cooked through. Set aside.
In a saucepot over medium-high heat, combine the cream cheese and vegetable stock, whisking to form a smooth mixture. Bring to a simmer, lower the heat to medium and simmer for 3 to 5 minutes. Add the yogurt and orange zest and whisk until incorporated, then remove from the heat. Add the spinach to the cream cheese mixture. Season with salt and pepper and fold together.
Coat the inside of a 9-by-13-inch baking dish with the remaining olive oil. Place a thin layer of the spinach mixture on the bottom of the dish and sprinkle with a third of the sage. Place a layer of sweet potatoes on top of the spinach and season with salt and pepper. Top with a single layer of carrots, then a layer of the spinach mixture and some sage. Repeat the steps once more, finishing with a layer of the spinach mixture on top, followed by a sprinkle of sage.
Cover the dish with aluminum foil and bake until the potatoes and carrots are tender, 1 hour and 20 minutes. Remove the foil, coat with the breadcrumbs and continue to bake until the breadcrumbs are golden brown, an additional 10 minutes. Let stand for 15 minutes before serving. When ready to serve, top with the pomegranate seeds.