Preheat the oven to 400°F (200°C) and generously grease a 9x13-inch baking pan with cooking spray.
Warm the milk in the microwave about 45 seconds and warm the chicken stock about 30 seconds; grate the mozzarella and let it come to room temperature.
Pat the chicken dry and dice into 1/2-inch pieces. Toss the chicken with 1 teaspoon Italian seasoning and salt and pepper to taste (about 1/2 tsp salt and 1/4 tsp pepper as a guide).
In the prepared pan, add the uncooked rotini in an even layer. Sprinkle the flour evenly over the pasta, then add the remaining 1 teaspoon Italian seasoning, onion powder, garlic powder, minced garlic, and additional salt and pepper if desired.
Pour the warm chicken stock and warm milk over the pasta, then dot with the butter pieces. Stir gently to combine so the flour is distributed and the pasta is submerged in the liquid.
Spread the seasoned raw chicken in an even layer on top of the pasta mixture. Cover the pan tightly with foil and bake for 20 minutes.
Remove the foil, stir the pasta and chicken to incorporate any settled flour and liquids, then add the grated mozzarella and stir again so it begins to melt into the sauce. Press the pasta and chicken slightly under the sauce.
Return the pan to the oven uncovered and bake another 15 minutes, or until the pasta is tender and the sauce is creamy (do not overbake).
Remove from the oven and gently stir. Add the chopped sun-dried tomatoes, chopped spinach, and a small handful of the Parmesan; stir to wilt the spinach and combine. Gradually add the remaining Parmesan while stirring until the sauce thickens to your liking.
Serve immediately, garnishing with fresh parsley or a squeeze of lemon if desired.