In a large pot or Dutch oven, combine the uncooked macaroni, whole milk, broth, and a generous pinch of salt and pepper. Stir to ensure the pasta is mostly submerged.
Place the pot over medium-high heat and bring to a gentle simmer, stirring frequently to prevent the pasta from sticking to the bottom.
Once simmering, reduce the heat to medium-low. Cook, uncovered, for 9-12 minutes, stirring every minute or so, until the pasta is al dente and the liquid has thickened into a light, creamy sauce.
Remove the pot from the heat completely and let it stand for 1-2 minutes to cool slightly. This is crucial for a smooth sauce.
Add the pieces of butter, the evaporated milk, Dijon mustard, smoked paprika, and garlic powder. Stir vigorously until the butter is fully melted and the sauce is glossy.
Add the freshly grated cheeses in handfuls, stirring continuously after each addition until the cheese is completely melted and the sauce is smooth and creamy.
Taste and adjust seasoning with more salt and pepper if needed. Serve immediately for the best texture.