Peel carrots and dice them; place in a large saucepan and cover with salted water.
Bring to a boil, then reduce heat and simmer until crisp-tender, about 10 minutes; drain and leave in colander to dry out.
Heat oil in a large skillet, over medium heat, and cook onion until softened and it begins to brown, about 12 minutes; add the cooked carrots, sugar, garlic, chile, green onion, cloves, ground ginger, coriander, cinnamon, paprika, cumin, vinegar, and preserved lemon (basically everything except the salt, cilantro, and yogurt).
Remove from heat and season liberally with salt, stir well, and let cool.
Before serving, stir in the cilantro, taste and adjust seasonings accordingly.
Serve in individual bowls with a dollop of yogurt, drizzle of oil, and a sprinkling of extra cilantro.