Preheat oven to 350°. Melt 2 Tbsp. unsalted butter in a medium skillet over medium heat. Add ¾ cup panko and cook, stirring, until crumbs are golden brown, 6–8 minutes. Transfer to a small bowl and toss with ¼ oz. Parmesan, finely grated, 2 tsp. fresh thyme leaves, and ¼ tsp. kosher salt.
Cook 8 oz. cavatappi or other short curly pasta in a large pot of boiling salted water, stirring occasionally, until al dente. Drain pasta; let cool while you make the sauce.
Bring 2½ cups whole milk to a bare simmer in a small saucepan; keep warm over very low heat. Melt remaining 2 Tbsp. unsalted butter in a medium saucepan over medium-high. Add ½ small onion, grated, and 1 garlic clove, finely grated, to the melted butter and cook, stirring, until onions are fragrant and beginning to soften, about 2 minutes. Sprinkle 2 Tbsp. all-purpose flour over and cook, stirring constantly, until mixture starts to stick to bottom of saucepan, about 1 minute. Add warm milk in a few additions, whisking to combine after each addition.
Bring béchamel sauce to a boil, then reduce heat and simmer, stirring, until sauce is thickened and doesn’t feel grainy when a little bit is rubbed between your fingers, 6–8 minutes. Add 4 oz. Fontina cheese, 4 oz. Gruyère, 4 oz. sharp white cheddar, ½ tsp. English mustard powder, pinch of cayenne pepper, and remaining kosher salt and stir until cheeses are melted and sauce is smooth. Remove from heat and mix in pasta; transfer to a 2-qt. baking dish.
Bake 10 minutes. Top with Parmesan breadcrumbs and bake until sauce is bubbling around the edges, 8–10 minutes longer. Let cool in pan 15 minutes before serving.
