Preheat the broiler. Put the corn on a rimmed baking sheet; broil, turning, until lightly charred on all sides, 5 to 8 minutes. (Alternatively, char the corn directly over a gas burner or on a grill over medium-high heat.) Transfer to a cutting board; let cool slightly, then cut off the kernels and transfer to a bowl. Working over the bowl, run the back of a chef's knife down the cobs to extract the juices; discard the cobs.
Melt the butter in a large pot or Dutch oven over medium-high heat. Add all but 2 tablespoons of the scallions, the celery, sweet potato, thyme, cayenne, 1/2 teaspoon salt and a few grinds of black pepper. Cook, stirring, until softened, 3 minutes. Sprinkle in the cornmeal; cook, stirring, until lightly toasted, 1 minute. Add the corn, its juices and 5 cups water. Increase the heat to high and bring to a simmer. Adjust the heat to maintain a simmer and cook, stirring occasionally, until the sweet potato is tender and the soup has thickened slightly, 15 minutes.
Reduce the heat to medium low and stir in the chicken and milk. Cook until the chicken is warmed through, 2 to 3 minutes (do not boil). Season with salt and black pepper. Top each serving with the reserved scallions and serve with the dinner rolls.