Preheat the oven to 350°F. Lightly grease a 9x13-inch casserole dish and set it aside.
Grate all the cheese and combine in a large bowl. Set aside for later.
Bring a large pot of salted water to a boil. Cook the pasta according to package instructions until al dente. Drain and set aside.
In a small bowl, combine the garlic powder, paprika, salt, and black pepper. Set aside.
Melt the butter in a large skillet over medium heat. Stir in half of the seasoning mix and cook for about 30 seconds. Add the flour and whisk it into the butter to form a roux, cooking for 1-2 minutes while stirring frequently.
Gradually whisk in the evaporated milk, followed by the heavy cream, whisking constantly to ensure a smooth sauce. Add the remaining seasoning and Dijon mustard. Cook while whisking until the sauce thickens.
Slowly add half the shredded cheese to the sauce, one handful at a time, stirring well after each addition to ensure it melts completely.
In a large bowl, mix the cooked pasta with the cheese sauce until well coated.
Spread half of the pasta mixture into the prepared casserole dish. Sprinkle half of the reserved cheese over the top. Add the remaining pasta mixture, then finish with the remaining shredded cheese.
Bake in the preheated oven for 25-30 minutes, or until the casserole is bubbly. Switch the oven to broil and cook for an additional 2 minutes to achieve a golden-brown top.