Heat the oil over medium heat in a large pot or Dutch oven. Add the onion, ginger and garlic and cook until the onion is softened and translucent.
Add the mustard seeds to the pot and stir. As soon as they begin to pop, add the turmeric, coriander, cumin, black pepper and cayenne, stirring to coat the spices in the oil.
Add the sweet potatoes, 3 teaspoons salt and 5 1/2 cups water to the pot. Bring to a simmer, then adjust the temperature and cook partially covered for 30 minutes, or until the sweet potatoes are tender.
Pour the coconut milk into the soup and remove from the heat. Let cool slightly.
Puree the soup in a blender until smooth, in batches if necessary.
To make the salsa, put the shallots, salt and lemon juice in a bowl and let it sit for 5 minutes. Stir in the olive oil and pomegranate molasses to blend, then add the pomegranate seeds and parsley.
Serve the soup with a few spoonfuls of salsa on top.