Preheat oven to 400 degrees and lightly grease a 9×12-inch baking dish.
Cover cut-side of squash with oil, place cut-side up on a parchment paper or foil-lined baking sheet for easy cleanup. Roast for 50-70 minutes or until squash can easily be pierced with a fork. Remove and cool until it is easy to handle. Scrape out flesh and mash with a fork or potato masher.
While squash is roasting, it’s a great time to work on the other elements of this dish. Place diced onions in a pan over medium-low heat with 2 tablespoons of butter. Cook until onions are a deep brown and caramelized, often stirring for about 20 minutes.
To create the buttery bacon bread crumb topping, place 4 tablespoons of butter in a medium-size microwave-safe bowl. Microwave on high until melted, about 45 seconds to 1 minute. Stir in breadcrumbs and bacon, reserve until needed.
Place pasta in boiling and salted water. Cook for half of the recommended time on package; pasta will finish cooking in the cheese sauce in the oven. Drain pasta and reserve until needed.
Once the above items are completed, it is time to create the cheese sauce. Place 4 tablespoons of butter in a large saucepan over medium heat. Sprinkle in flour, whisking to make a thin paste. Continue cooking until the mixture resembles the color of peanut butter and is very fragrant about 3-4 minutes. Whisk in milk, cooking until mixture starts to thicken.
Stir in roasted butternut squash, caramelized onions, and the two kinds of cheese. Stir until cheese melts. Add Dijon mustard to your liking, and season with salt as needed. Remove from stove to slightly cool. At this point, if you prefer a rustic, chunky sauce, you can leave the sauce as is. If you would like a smooth, creamy sauce (the recommended consistency), place sauce in a food processor or blender, pulse until smooth and creamy. A hand immersion blender works great as well.
To assemble, combine macaroni and cheese sauce and pour into prepared casserole dish. Cover with foil and place in the oven for 15 minutes or until cheese sauce is bubbly. Remove foil and cover with the bacon breadcrumbs and return to the oven until the breadcrumbs are golden brown. Cool for 10 minutes before serving.