Preheat the oven to 425°F (220°C). Toss the cauliflower florets with 1/4 cup olive oil and a pinch of kosher salt and freshly ground black pepper on a large baking sheet.
Roast the cauliflower, turning occasionally, until caramelized and tender, about 35–40 minutes. Remove from oven and let cool; this can be done up to 2 days ahead.
Make the breadcrumbs: pulse the French bread in a food processor until coarse crumbs form. Melt 4 tablespoons butter and toss with the crumbs and 1/4 cup grated Parmesan. Set aside.
Reduce oven temperature to 350°F (175°C). Cook the pasta in a large pot according to package directions until al dente, drain, and set aside.
In a large ovenproof heavy-bottom saucepan over low heat, melt the remaining 8 tablespoons butter. Add 4 tablespoons flour and whisk until smooth, about 1–2 minutes to cook the raw flour taste.
Slowly whisk in the hot milk, stirring constantly until the sauce thickens enough to coat the back of a spoon, about 15–20 minutes.
Stir the 2 teaspoons kosher salt, garlic powder, onion powder, and smoked paprika into the sauce. Add the shredded Fontina and stir until melted, then stir in the remaining 1/2 cup (approx.) grated Parmesan.
Add the cooked pasta and roasted cauliflower to the cheese sauce and stir gently to combine and coat everything evenly.
Sprinkle the breadcrumb mixture evenly over the top. Transfer the pan to the 350°F oven and bake until the top is golden and the cheese is melted, 15–20 minutes.
Remove from oven and let rest a few minutes before serving.