In a large pot, bring 3 quarts of water to a boil. Add the salt and macaroni. Cook pasta al dente. Drain and set aside.
In a large saucepan, heat 3 tablespoons butter over low heat. Add onion and saute until soft. Add flour and cook for 3 minutes, stirring the whole time. Add the milk. Season with salt and black pepper. Cook over medium heat, stirring constantly, until the mixture begins to bubble. Simmer 2 minutes. Remove from heat and add nutmeg, cayenne, and 2 cups of the cheeses. Stir and add macaroni. Mix well.
Pour the macaroni mixture into a baking dish about 8 by 8 inches in size and sprinkle with the remaining cheeses. Sprinkle with breadcrumbs and dot with the remaining butter. Bake in oven for 25 minutes or until top is browned.