1. Whisk together the yogurt, 3 tablespoons salt, chili powder and turmeric in a large bowl. Add the chicken and turn to coat. Let sit at room temperature until ready to use, upto 1 hour. (Alternatively, the chicken can be marinated for up to 2 days covered with plastic wrap in the refrigerator.)
2. Meanwhile, heat the oil in a large heavy-bottomed saucepan over high heat until a deep-fry thermometer reaches 350 degrees F. Fry half of the onions, stirring frequently for even cooking, until deep golden brown, 10 to 12 minutes. Transfer them to a paper-towel lined baking sheet to drain. Season with salt and let cool. Let the oil come back up to temperatur and repeat with the remaining onions. Reserve the oil.
3. Wash, rinse and drain the rice in a bowl full of cold water until the water is almost clear, about 5 times. Bring the rice, 1/4 cup salt, 4 of the cloves, 3 of the cardamom pods, 1 of the bay leaves, the peppercorns and 3 quarts of water to a boil in a large pot over high heat. Cook for exactly 5 minutes. (The rice will not be completely cooked; it will continue to cook in the oven. Do not cook longer or the rice will get mushy.) Drain and transfer the rice and spices to a medium bowl.
4. Position a rack in the lower third of the oven and preheat to 300 degrees F.
5. Stir together the saffron and milk in a small bowl until combined.
6. Heat 3 tablespoons of the reserved onion oil in a large Dutch oven over medium heat. Add the cinnamon stick, cumin seeds and the remaining 4 cloves, 4 cardamom pods and 2 bay leaves. Cook, stirring frequently, until the spices are very fragrant and beginning to brown, about 1 minute. Add the ginger and garlic and cook, stirring frequently, until very fragrant and beginning to stick to the bottom of the pan, about 1 minute. Add the tomatoes and 1 teaspoon salt and cook, stirring occasionally and scraping the garlic and ginger from the bottom of the pan, until the tomatoes start to break down and most of the liquid has evaporated, 5 to 7 minutes. Stir in 1/2 cup water, bring to a boil and scrape up any bits from the bottom of the pan.
7. Remove the chicken from the marinade and layer on top of the tomatoes. Then sprinkle half the fried onions on top of the chicken. Top with the rice and spices and then drizzle the saffron milk over the rice. Cover the pan and bake until the liquid evaporates, the rice is tender and the chicken is cooked through, 30 to 40 minutes.
8. Let sit covered for 10 minutes, then transfer the biryani to a large serving platter. Top with the remaining fried onions, cilantro and mint leaves.