Preheat your oven to 190 C (375 F). Lightly butter a 8x8 baking dish.
In a large non stick pan, melt 2 tablespoons of butter on medium low heat. When melted and hot, add the onion and a pinch of salt as desired. Cook the onion, stirring occasionally until golden brown and reduced in volume, about 30 to 40 minutes. When cooked, remove from heat and set aside.
While the onion is cooking, heat a pot of salted water to a boil. Add the pasta and cook until just tender, drain then set aside.
Same pot used for the pasta, add the 4 tablespoons of butter and heat over medium heat. When the butter is melted, add the flour and whisk constantly for 1-2 minutes until golden brown and smooth, then slowly pour in the milk, also whisking constantly until smooth, about 5 minutes. Now slowly pour in the evaporated milk, and you guessed it, whisking constantly until thickened.
Reduce the heat to low and add the cheeses to the pot, reserve 2 tablespoons of Parmesan for later use, whisk until the cheese is melted into the sauce. Whisk in the nutmeg, mustard, and season to taste with salt and pepper as desired.
To the pot, stir in the pasta and the onion and mix to coat well. Pour mixture into the prepared baking dish, and sprinkle the reserved Parmesan on the top.
Bake for about 20 to 25 minutes until the top is golden brown.
Cool for 3 to 5 minutes, serve and enjoy.