Adjust oven to fit your tagine (if using). Preheat oven to 350 degrees.
Salt and pepper chicken legs on all sides. Heat olive oil in a large saute pan over medium-high to high heat.
Sear chicken legs, approximately 3-4 minutes on each side, or until golden browned and able to lift easily from the pan. Remove from pan and set aside.
Reduce heat to medium and add onions. Saute until softened and golden brown.
Add spices to the onion mixture - coriander, white pepper, ginger, saffron, turmeric, and salt. Stir to incorporate.
Add onions in the bottom of your tagine, or dutch oven. Arrange chicken pieces amongst the onions. Add chicken stock.
Place in preheated oven for about 45 minutes, or until the chicken meat appears to be separating from the bone.
If using a clay tagine: place tagine onto a separate saute pan to act as a heat diffuser (prevents risk of clack cracking... omit this step if using a dutch oven or iron tagine) and turn heat to medium high. Add minced preserved lemon, crushed olives, and butter. Cover and simmer for about 5 minutes.
Taste sauce and add additional salt and pepper, as desired.
Garnish with quaratered preserved lemons and chopped cilantro.