Heat a large pot over medium-low heat and add the coconut oil. Stir in the onion and cook, stirring often, until it begins to caramelize and get golden brown, about 15 to 20 minutes. Stir in the garlic, ginger, salt and pepper. Cook for about 5 to 6 minutes. Stir in the sweet potato cubes. Cook for another 5 minutes, stirring occasionally, until the sweet potatoes start soften and get a little golden too. Pour in the vegetable stock and bring the mixture to a boil. Reduce it to a simmer, cover the pot and cook for 15 to 20 minutes, just until the sweet potatoes soften.Once the potatoes are fork tender, turn off the heat. Use an immersion blender or carefully pour the mixture into a regular blender (and cover the lid with a towel!), blending until pureed and smooth. Add in the coconut milk and blend again until smooth.Pour the mixture back into the pot. Taste it and season additionally with more salt and pepper if needed. Heat over medium-low heat until warmed through.Serve with a drizzle of coconut milk and a sprinkle of green onions and hemp hearts on top.