Cut the squash in half from top to bottom and scoop out the seeds. Put the squash and the garlic clove onto a baking sheet, drizzle with 1 tablespoon of the olive oil and season with salt and pepper. Roast in the oven until it is nice and soft, 30 to 35 minutes. Remove from the oven and let cool. When it is cool enough to handle, scoop out the flesh and set aside with the garlic clove.
While the squash is roasting, put the remaining tablespoon of oil and the butter into a large pot over low heat. Add the onion and cook, stirring often, until the onion is browned and caramelized, about 20 minutes.
Squeeze the roasted garlic clove into the pan, discarding the skin. Add the squash, ginger, chilies to taste and stock. Turn the heat to high and bring it to a boil, then remove from the heat.
Working in batches, puree the soup in a blender, getting it as smooth as possible. Pour into a clean pot while you blend the rest. Heat the soup until it is piping hot. Taste and season with salt and pepper and a squeeze of lime juice.
To serve, ladle the soup into warm bowls, drizzle with a little coconut milk, scatter over some cilantro leaves and chilies.