Add chicken to a large pot with the 2 cups of water, 1 tbsp salt, half the ginger, 3 crushed garlic cloves, and the sliced onion. Bring it to a boil over medium heat and cook for almost 30 minutes, until the chicken is cooked through. Lift the chicken out and reserve all the stock.
Meanwhile, rinse the rice and soak it in cold water for 20–30 minutes. Drain before using.
Meanwhile, preheat the air fryer or oven to 400°F (200°C). In a medium bowl, add the tomatoes, red pepper, diced onion, the remaining garlic and ginger, the paprika, ½ tsp salt, and the olive oil, and mix until evenly coated.
Spread the vegetable mix on a baking pan and roast for 20 minutes, turning midway, until charred.
Remove and blend until smooth.
Transfer the boiled chicken to the same baking pan and roast at 400°F (200°C) for 20 minutes, turning midway, until golden.
Pour the blended tomato and pepper purée into the large pot and cook over medium heat for 2–3 minutes, until it thickens to a paste and is almost catching on the bottom of the pot.
Stir in the pilau masala and the chicken broth powder.
Add the coconut milk. Use part of the reserved stock to rinse out the blender (and swill out the coconut milk can) into the pot so no sauce is wasted, then add the remaining stock and top it up with water to make 4 cups of stock/water in total.
Bring to a boil, then add the drained rice and 1 tsp salt and give it a stir. Return the chicken pieces, bring back to a boil, then taste and adjust the salt, the liquid should be a little on the salty side.
Cover, turn the heat to the lowest setting, and simmer for 15 minutes.
Top with the butter (optional), cover again, and keep on the lowest heat for another 10–15 minutes, until the butter has melted through.
Fluff the pilau and serve hot with a side of kachumbari or coleslaw.