Prep and Brown: Pat the chicken thighs dry with paper towels and season lightly with salt and white pepper.
Heat the oil: In your Dutch oven, heat the oil over medium-high heat until it shimmers. Add the chicken thighs in a single layer, skin side down if they have skin. Cook for 4-5 minutes per side until golden brown. (Don't crowd the pot — work in two batches if needed.) Remove the chicken to a plate and set aside.
Cook the onions: Reduce the heat to medium. Add the diced onion to the pot and stir, scraping up any browned bits from the bottom. Cook for 8-10 minutes, stirring occasionally, until the onion is soft and starting to turn golden. (If the onion starts to burn, add a splash of water and lower the heat.)
Bloom the aromatics: Add the garlic and ginger to the pot and cook for 30 seconds until fragrant. Then add the curry powder and turmeric. Stir constantly for 1 minute. The mixture will look dry and paste-like. Keep stirring — this is where the magic happens.
Add the liquids: Pour in the coconut milk and chicken stock, stirring to combine. Bring the mixture to a gentle simmer. Add the fish sauce, sugar or honey, and a pinch of salt.
Return the chicken: Nestle the browned chicken thighs back into the pot, along with any juices that collected on the plate. Add the potato and carrot chunks. The liquid should almost cover the chicken — if it doesn't, add a splash more stock or water.
Simmer: Partially cover the pot and let it simmer gently for 30-35 minutes, stirring occasionally, until the potatoes are tender and the chicken is cooked through and tender. Skim off any excess fat if you want a cleaner broth.
Finish and adjust: Taste the broth. Add more fish sauce for saltiness, a squeeze of lime for brightness, or a pinch of sugar if it's too bitter. Remove from heat.
Serve: Spoon rice into wide bowls and ladle the curry over the top, making sure each bowl gets a chicken thigh, some potatoes, and carrots. Garnish with cilantro and scallions.