Grate the onion for the marinade and place it in a dish.
Peel the garlic cloves and place them on a chopping board, bash them with the side of a knife and add them to the grated onion. Add the remaining ingredients for the marinade to the bowl with the grated onion and mix them all together.
Place the chicken legs in a shallow bowl. Pour the marinade over the chicken legs and massage it into them before transferring them to the fridge for 1-2 hours.
Top and tail the second onion, then cut it into 8 wedges and break them into individual petals.
Cut the preserved lemons in half and then slice them into 3-4mm (⅛-¼") thick slices.
Heat the base of your tagine pot over a medium-high heat, and when it is hot, add the butter and olive oil.Remove the chicken legs from the marinade and wipe off any excess coating. Sear the chicken legs in the butter and oil mix until golden on both sides, then remove to a plate.
Turn the heat under the tagine to low and add the onion petals, followed by any leftover marinade.
Nestle in the chicken legs, sprinkle over the preserved lemon slices and pour over the chicken stock.
Add the tagine lid and cook for 30-40 minutes or until the chicken has reached at least 73°C or 165°F. (I prefer my chicken legs cooked on towards 80°C or 175°F)