Prepare the grill for indirect cooking over medium–low heat (180°C to 230°C).
In a 30 centimetre cast-iron skillet over medium heat on the stove, melt the butter. Whisk in the flour and let the mixture bubble for about 1 minute without browning (it should smell like baked pie crust). Whisk in the mustard powder and granulated onion. Gradually whisk in the milk and bring to a boil, whisking often until the sauce is smooth. Reduce the heat to low and simmer until all of the raw flour taste is gone, about 3 minutes, whisking often. Remove the sauce from the heat. Add the cheeses all at once and whisk until they have melted. Season with the salt and pepper.
Meanwhile, bring a large pot of salted water to a boil on the stove. Add the macaroni and cook according to package directions until al dente (do not overcook, as it will cook more in the sauce). Drain the macaroni well. Add to the skillet and stir well. Remove from the heat.
Combine the topping ingredients and then sprinkle the topping evenly over the macaroni.
Place the skillet with the macaroni and cheese over indirect medium–low heat, close the lid, cook until the sauce is bubbling and the crumbs are lightly browned, 20 to 25 minutes. Remove from the grill and let rest for 5 minutes. Serve warm.