Preheat your oven to 375°F (190°C). Lightly grease a 9x13 inch baking dish with butter or cooking spray and set aside.
Bring a large pot of generously salted water to a boil, then cook the spaghetti for 2 minutes less than the package directions (about 6-7 minutes). Reserve 1/2 cup pasta water, drain, and toss with 1 tablespoon olive oil to prevent sticking.
Melt 4 tablespoons of butter in a large skillet over medium heat, then add the minced garlic and cook for 1-2 minutes, stirring constantly, until fragrant and lightly golden.
Pour in the heavy cream and whole milk, raise heat to medium-high, and bring to a gentle simmer. Cook for 5-6 minutes, stirring regularly, until the sauce thickens enough to coat the back of a spoon.
Reduce heat to medium-low and stir in 1 cup of the grated Parmigiano-Reggiano until fully melted and smooth, then add salt, black pepper, garlic powder, and nutmeg. Taste and adjust seasoning as needed.
Add the drained spaghetti to the skillet and toss until every strand is coated in the sauce. If too thick, add a splash of reserved pasta water. Fold in cooked chicken at this stage if using.
Transfer half the spaghetti mixture into the greased baking dish and spread evenly, then sprinkle with 1/2 cup mozzarella. Add the remaining pasta on top in an even layer.
Sprinkle the remaining 1/2 cup Parmigiano-Reggiano and 1/2 cup mozzarella evenly across the top of the pasta.
Cover the baking dish tightly with aluminum foil and bake on the center rack at 375°F for 20 minutes.
Remove the foil and bake for an additional 10 minutes until the top is golden and the edges are bubbling. For a deeper golden crust, broil on high for 2-3 minutes, watching carefully.
Let the baked pasta rest for 5-10 minutes, then sprinkle with chopped fresh parsley and serve directly from the dish.