Toss chicken, garam masala, turmeric and cayenne in a medium bowl; refrigerate for 10 minutes or up to 12 hours.
Heat oil in a large Dutch oven over medium-high heat. Add the chicken; cook, stirring occasionally, until lightly browned, about 5 minutes. Transfer the chicken to a plate. Do not wipe the pot.
Add onion and bell pepper to the drippings in the pot; cook over medium-high heat, stirring occasionally, until tender, 4 to 5 minutes. Reduce heat to medium and stir in garlic, ginger and salt. Cook, stirring occasionally, until fragrant, about 1 minute. Stir in broth, tomatoes, squash (or sweet potato), coconut cream, brown sugar, lime juice and the reserved chicken and any accumulated juices, scraping to loosen browned bits from the bottom of the pan. Bring to a boil over high heat; reduce heat to medium-low and simmer, stirring occasionally, until the soup is thickened and the chicken is cooked through, about 25 minutes. Stir in spinach; cook until wilted, about 1 minute. Divide the soup among 4 bowls. Garnish with scallions, if desired.
