In a large bowl, combine the chicken pieces, curry powder, allspice, salt, and black pepper. Mix well to coat the chicken evenly. Let it 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 diced onion and sauté for about 3-4 minutes until softened.
Stir in the minced garlic and grated ginger, cooking for an additional 1-2 minutes until fragrant.
Add the marinated chicken to the pot, cooking for about 5-7 minutes until the chicken is browned on all sides.
Add the diced bell pepper and sliced carrots, stirring to combine.
Pour in the coconut milk and chicken broth, bringing the mixture to a simmer.
Reduce the heat to low, cover the pot, and let it cook for 25-30 minutes, stirring occasionally, until the chicken is fully cooked and tender.
Taste and adjust seasoning if necessary. Serve hot, garnished with chopped green onions and cilantro if desired.