1. Preheat the oven to 400°.
2. Make the filling: Melt the butter in a 10 1/2-inch cast iron skillet over medium heat; gradually add the flour, whisking until smooth. Cook, whisking constantly, 1 minute. Gradually add the broth and half-and-half; cook, whisking constantly, until the mixture thickens. Stir in the pepper. Stir in the chicken, mushrooms, cranberries, and cheese. Cook, stirring occasionally, until hot, about 3 minutes. Reduce the heat to low while preparing the topping.
3. Make the topping: Combine the sweet potatoes, sugar, egg, and milk in a medium bowl; stir until blended. Add the cornbread mix; stir until blended. Carefully spread the topping over the chicken mixture to cover as a crust.
4. Bake until the cornbread is golden and the chicken mixture is bubbly, 25 to 30 minutes. Remove from the oven and let stand 5 minutes. Garnish with rosemary sprigs, if desired.