Preheat oven to 375 F.
In a medium saute pan, heat maple syrup over medium heat. Add onions and sauté for 5-6 minutes until dark golden and soft. Reserve 3 tbsp of onions. Add in ham and sauté an additional 1-2 minutes until ham is warm. Remove heat and set aside.
Bring a large pot of water to a rolling boil, season with 1 tsp of salt and add pasta. Cook until al dente but still firm and drain.
In a large 9 inch cast iron skillet or oven safe skillet, melt butter over medium heat. Whisk in flour and continue whisking until mixture has turned light golden. Whisk in the milk and remove any lumps. Cook until slightly thicken, about 5 minutes. Add in mustard, thyme and salt and paper. Whisk until smooth and slightly thicken. Add grated cheeses and continue whisking until cheese has melted and mixture is creamy. Stir in onions and ham mixture. Add pasta to skillet and mix well to ensure pasta is well covered with cheese sauce.
Toss breadcrumbs with melted butter. Drizzle reserved caramelized onions, breadcrumbs and parmigiano cheese evenly on top of pasta. Place in oven and bake for 20-25 minutes until cheese is bubbling and tops are golden.
I love a crispy dark golden top, so I placed the oven on broil for 1-2 minutes before done. Ensure you keep an eye on it so you don't burn the topping.
Serve hot!