Rinse chicken, pat dry, trim excess fat, and score large pieces. Place in a large bowl.
Add 2 tablespoons curry powder, all-purpose seasoning, garlic powder, onion powder, allspice, white pepper, salt, onion, garlic, scallions, scotch bonnet, thyme, and ginger. Coat chicken evenly. Marinate in the refrigerator for at least 1 hour or overnight.
Remove chicken from refrigerator 20-30 minutes before cooking. Heat Dutch oven over medium-high. Add oil and remaining 1 tablespoon curry powder. Stir constantly for 20-30 seconds until fragrant and darkened.
Remove chicken from marinade, reserving marinade and vegetables. Sear chicken in batches skin-side down for 3-4 minutes per side until golden brown. Return all chicken to the pot.
Pour reserved marinade with aromatics into the pot. Add chicken broth, stir, and bring to a light boil. Reduce heat to medium-low, cover, and simmer for 15 minutes, stirring once halfway.
Add potatoes, carrots, and coconut milk. Stir gently. If using whole scotch bonnet, leave intact for mild heat. Cover and simmer on medium-low for 20-25 minutes until vegetables are tender and sauce has thickened.
Taste and adjust seasoning. Simmer uncovered for 5-10 minutes to thicken further or add broth to thin. Remove whole scotch bonnet before serving.