Preheat the oven to 450˚F (230˚C).
Bring a large pot of water (salted) to a boil over high heat. Cook the pasta until tender but still firm to the bite, stirring occasionally. Reserve 1 cup of pasta water. Drain and rinse the pasta with water until cool.
Meanwhile, in a medium sauté pan over medium-low heat, warm up 1 tablespoon olive oil. Add onion and sauté until soften. Add the frozen corn and ham until warmed through.
For the sauce, in a medium pot over medium-low heat, melt 2 tablespoons butter. Add the flour and whisk for 2 minutes. Slowly whisk in the milk. Cook for 5 minutes, whisking occasionally to prevent sticking on the bottom. Reduce heat to low. Whisk in mozzarella and stir until fully incorporated. Add a pinch of ground nutmeg. Season with salt and pepper. Stir in the cooked ham mixture. Adjust with seasoning if needed. If the mixture is too thick, thin it out with a bit of the reserved pasta water.
Transfer the pasta to an oven safe baking dish, top with the provolone cheese. Bake in the oven for about 5 minutes or until golden brown. Remove from oven. Allow the pasta to sit for 5 minutes before serving. Serve hot.