In a large bowl, combine the chicken pieces with curry powder, allspice, garlic powder, onion powder, salt, and black pepper. Mix well to coat the chicken evenly. Let marinate for at least 30 minutes, or up to overnight in the refrigerator for deeper flavor.
Heat the vegetable oil in a large pot or Dutch oven over medium heat. Add the marinated chicken pieces and brown them on all sides, about 5-7 minutes. Remove the chicken from the pot and set aside.
In the same pot, add the chopped onion, minced garlic, and grated ginger. Sauté for about 3-4 minutes until the onion is translucent.
Add the chopped bell pepper and sliced carrots to the pot. Cook for another 3 minutes, stirring occasionally.
Return the browned chicken to the pot. Pour in the coconut milk and chicken broth. Stir to combine and bring to a simmer.
Cover the pot and reduce the heat to low. Let it simmer for 30-40 minutes, or until the chicken is cooked through and tender. Stir occasionally and adjust seasoning if necessary.
Once cooked, remove from heat and let it rest for a few minutes. Garnish with chopped green onions before serving.