01 - Preheat oven to 375°F (190°C) and lightly grease a 9x13-inch baking dish.
02 - Melt the butter in a saucepan over medium heat. Add yellow onion and garlic; cook for 2 to 3 minutes until softened.
03 - Whisk in all-purpose flour and cook for 1 minute to eliminate raw taste.
04 - Gradually pour in whole milk, whisking constantly until smooth. Simmer for 3 to 4 minutes until the sauce thickens slightly.
05 - Stir in Dijon mustard, kosher salt, black pepper, and smoked paprika. Remove saucepan from heat.
06 - Spread half the chicken evenly in the baking dish, layer with all diced ham, then cover with half the Swiss cheese. Repeat layering with remaining chicken and Swiss cheese.
07 - Pour the prepared sauce evenly over all layers in the baking dish.
08 - In a mixing bowl, combine Panko breadcrumbs and Parmesan cheese. Sprinkle the mixture evenly across the top of the casserole.
09 - Bake uncovered for 30 to 35 minutes, or until the topping is golden and the casserole is bubbling at the edges.
10 - Allow to rest for 5 minutes before portioning and serving.