Bring a large pot of salted water to a boil. Cook pasta for 2 minutes less than package directions (keeping it slightly undercooked). Drain without rinsing.
In a large, heavy-bottomed pot, melt butter over medium heat. Add flour and whisk continuously for 1-2 minutes to form a roux, avoiding browning.
Gradually pour in warmed milk while whisking constantly to prevent lumps. Continue cooking and whisking until mixture begins to thicken, about 3-5 minutes.
Add mustard powder, garlic powder, and cayenne pepper (if using). Season with salt and black pepper to taste. Cook for another 2 minutes, stirring regularly.
Reduce heat to low and gradually add grated cheeses, a handful at a time. Stir continuously until each addition melts completely before adding more, until sauce is smooth and velvety.
Fold cooked pasta into the cheese sauce, ensuring each piece is well-coated. Add a splash of milk if mixture seems too thick.
Allow mac and cheese to cool slightly before dividing among 5 meal prep containers (about 1½ cups per container).
Add desired toppings that store well (broccoli, peas, etc.) to containers now. Store crispy toppings (breadcrumbs, bacon bits) separately in small containers.
Allow containers to cool completely before securing lids to prevent condensation.
Label with date and refrigerate for up to 5 days or freeze for up to 3 months.
To reheat refrigerated portions: Microwave at 70% power for 2-3 minutes, stirring halfway. Let stand 1 minute before eating.
To reheat from frozen: Defrost 3-4 minutes, then heat at 70% power for 2-3 minutes, stirring occasionally. Add fresh toppings after reheating.