Preheat oven to 400°F with rack in the middle of oven. Butter the baking dish. Set a large, covered pot of salted water over high heat to boil.
Meanwhile, in a large skillet over medium heat, heat butter and oil until butter foam subsides. Add panko and garlic; cook, stirring, until crumbs are golden brown, 4 to 6 minutes. Transfer crumbs to a medium bowl, stir in 1/2 cup Parmesan and salt, and set aside.
Add macaroni to boiling salted water and cook until just al dente (avoid overcooking). Drain macaroni and set aside. In a large wide pot over medium-low heat, melt the butter. Sprinkle flour over butter, whisking to incorporate and make a roux. Cook, stirring constantly with a wooden spoon, until roux is light golden, about 4 minutes. Gradually pour in milk and cream, whisking constantly to incorporate and make a béchamel sauce. Raise heat to medium-high and bring sauce to a low boil, whisking constantly. Reduce to a simmer, whisking occasionally, and cook until béchamel sauce is thick and coats the back of a spoon, about 3 minutes more.
Add the salt, pepper, and mustard powder. Add the cheeses in three batches, whisking until each addition is completely melted before adding more. Remove from heat.
Add the drained macaroni to the pot with the cheese sauce and stir well to coat. Transfer macaroni mixture to the buttered baking dish and place on a rimmed baking sheet. Sprinkle topping evenly over macaroni and bake until golden and bubbling, 18 to 23 minutes. Let cool 15 minutes before serving.