you will need to prepare the caramelized onions before anything else. here’s how:
remove skin from 2 medium sized onions and slice thin. cook over medium-low heat with 2 tbsp butter, stirring frequently (not constantly) until a rich brown color. onions should be very tender. you can make a day ahead or cook while you are preparing the rest of the ingredients. if you choose the latter, you can use the pan to warm your milk. make sure to scrape up all the "goodness" on the bottom of the pan.
in a large pot, cook the pasta in heavy salted water until tender. you can drain, but do not rinse. return to the pot and keep covered while you make the sauce. you want to mix the cheese sauce into the pasta while warm.
in a medium size sauce pot, melt your butter. add your flour and cook over low heat, stirring constantly for 2 minutes. it should have the consistency of wet sand. slowly add your warm milk, whisking constantly. make sure to scrape the corners/sides of the pot. bring to a boil. (you can turn up the heat if needed.) once boiled, turn heat as low as possible and stir in velveeta. then, turn off heat and add remaining cheese and other ingredients. taste for seasoning. mix into pasta. don't forget your onions if you made the day before. if it seems super thick, add ½ to 1 cup milk.
transfer to a baking dish that has been sprayed with nonstick. if you are going to cook that day, leave out at room temp. if you are going to cook the next day, pull out of fridge at least 1 hour before you put in the oven. bake covered with foil at 350f for 30 minutes or until hot and bubbling. sprinkle bread crumbs on and bake 5-10 more minutes. drop orange marmalade and slices of brie on just before serving.