Preheat the oven to 400 degrees F. Line 2 baking sheets with parchment paper.
Slice the acorn squash in half horizontally and scoop out the seeds and pulp. Drizzle the cut sides with 1 tablespoon olive oil and season with salt and pepper. Place cut-side down on one baking sheet.
Spread the sweet potatoes on the second baking sheet. Toss with 1 tablespoon olive oil and season with salt and pepper.
Roast the squash for 40 to 45 minutes, until fork-tender. Roast the sweet potatoes on a separate rack for about 30 minutes, stirring halfway through.
While the vegetables roast, heat the remaining 1 tablespoon olive oil in a Dutch oven or large pot over medium-high heat. Add the onion and carrots and cook for 5 to 7 minutes, until the onion starts to soften.
Add the garlic and apple and cook for 1 to 2 minutes more, until fragrant.
Add the roasted sweet potatoes and all 4 cups of vegetable stock. Bring to a simmer, then reduce the heat to medium.
Stir in the sage and thyme. Simmer for 10 minutes.
Scoop the roasted acorn squash out of its skin and add it to the pot. Simmer for 5 minutes more.
Remove the pot from the heat and blend with an immersion blender until smooth.
Stir in the coconut milk, and reheat gently, as needed. Taste and adjust the salt and pepper before serving.