Preheat the oven to 350°F with a rack in the upper third.
Bring a large pot of water to a boil and add 1 tablespoon salt. Cook the 12 ounces of macaroni 1 minute less than the package directs. Drain and set aside. Do not rinse.
Melt 4 tablespoons butter in a 10 inch cast iron skillet over medium heat. Whisk in 4 tablespoons flour and cook, whisking, 1 to 2 minutes until pale gold and nutty smelling. Whisk in 1 teaspoon salt and ¼ teaspoon pepper.
Pour in the 3 cups of warmed milk in a steady stream, whisking constantly. Cook over medium heat, whisking often, 4 to 5 minutes, until thick enough to coat the back of a spoon.
Remove the skillet from the heat. Add the 2 cups provolone and 2 cups of the cheddar a handful at a time, stirring until smooth before adding more. Stir in 1 tablespoon Worcestershire sauce. Taste and adjust salt.
Add the drained macaroni and fold until evenly coated.
Scatter the remaining 2 cups cheddar over the top and sprinkle with ½ teaspoon smoked paprika. Set the skillet on a sheet pan and bake 20 minutes, until bubbling at the edges.
Broil 2 to 3 minutes, watching closely, until the top is deep golden and spotty.
Rest 5 minutes before serving.