01 - Preheat the oven to 375°F. Lightly grease a 9x13-inch baking dish and set aside.
02 - Melt the unsalted butter in a saucepan over medium heat. Add the diced onion and minced garlic, cooking 2 to 3 minutes until tender and aromatic.
03 - Sprinkle in all-purpose flour, whisking constantly to combine, and cook for 1 minute without browning.
04 - Gradually pour in whole milk, whisking vigorously to achieve a smooth consistency. Simmer for 3 to 4 minutes, stirring frequently, until the mixture thickens slightly.
05 - Incorporate Dijon mustard, kosher salt, black pepper, and smoked paprika into the sauce. Remove from heat.
06 - Arrange half of the chicken evenly in the baking dish, top with all the diced ham, and cover with half the Swiss cheese. Repeat with the remaining chicken and Swiss cheese.
07 - Distribute the prepared sauce evenly over the layered ingredients in the baking dish.
08 - In a mixing bowl, combine Panko breadcrumbs and grated Parmesan cheese. Sprinkle the mixture evenly over the casserole.
09 - Place in the oven and bake uncovered for 30 to 35 minutes, until the topping is crisp and golden and the filling is bubbling.
10 - Allow the casserole to rest for 5 minutes before serving to set the layers.