Pat the chicken dry, then season it all over with the salt and pepper.
Warm the olive oil in a large tagine or Dutch oven over medium heat. Add the chicken skin-side down and brown for 5 to 7 minutes, then turn and brown the second side for 3 minutes. Transfer the chicken to a plate.
Build the sauce:
Add the onions to the pot and cook for 8 to 10 minutes, stirring often, until softened and lightly golden.
Stir in the garlic, ginger, cumin, turmeric, paprika, cinnamon, and saffron. Cook for 1 minute, just until fragrant.
Pour in the chicken stock, scraping up the browned bits from the bottom of the pot. Nestle the chicken back into the sauce, skin-side up.
Braise and finish:
Cover, reduce the heat to low, and simmer gently for 35 to 40 minutes, until the chicken is tender and cooked through.
Add the preserved lemon rind and olives. Simmer uncovered for 8 to 10 minutes, until the sauce thickens slightly.
Stir in the chopped herbs and lemon juice if needed. Taste for salt, then serve hot with couscous, rice, or flatbread.
Notes
If your preserved lemons are very salty, rinse them well and reduce the initial salt slightly.
A Dutch oven works well if you do not have a tagine. Keep the heat low so the sauce braises instead of boiling hard.
For a lighter sauce, skim extra fat from the surface before adding the olives and preserved lemon.