Preheat oven to 350 degrees F. Coat a 2-quart broiler-safe dish with cooking spray. Cook penne according to package directions; drain.
Meanwhile, in a medium saucepan melt butter over medium heat. Sprinkle flour onto butter and cook, whisking constantly, for 1 minute. Whisk in milk, dried onion, dry mustard, salt, and cayenne pepper. Bring to a simmer over medium-high heat. Reduce heat and cook, whisking constantly, for 3 minutes. Remove from heat.
In a large bowl toss together cheeses. Whisk half of the cheese into the milk mixture in skillet until smooth. Stir cheese sauce into pasta. Spoon half of the pasta into the prepared baking dish. Top with half of the remaining cheese. Repeat layering, ending with cheese.
Bake for 20 minutes. Increase heat to broil. Broil pasta for 3 to 4 minutes until bubbly and browned.