Bring a large pot of generously salted water to a boil. Cook macaroni until al dente (1–2 minutes less than package instructions). Drain and rinse briefly with cool water. Set aside.
Rinse and dry the pot. Return to the stove over low heat. Melt butter. Add flour all at once and whisk constantly for 1–2 minutes until the roux is pale golden and smells nutty.
Slowly pour in the whole milk in a steady stream, whisking constantly. Increase heat to medium-high. Whisk in dry mustard, cayenne pepper, and grated garlic. Cook, whisking frequently, until the sauce thickens to a cream-soup consistency, 7–10 minutes.
Remove the pot from the heat. Add the grated cheeses in three additions, whisking after each until fully melted and smooth. Season with salt and black pepper to taste.
Add the drained macaroni to the cheese sauce. Stir gently until every piece of pasta is fully coated.
Serve immediately, garnished with extra cheese or fresh herbs if desired. Stir in a splash of warm milk if the sauce is too thick.