Position a rack in the upper third of the oven and preheat to 450°F. Lightly grease a 2-quart baking dish.
Cook the bacon in a large skillet over medium heat until crisp, 8–10 minutes. Transfer to a paper towel–lined plate. Spoon off and reserve 1 tablespoon of the drippings; discard the rest. Chop the cooled bacon.
Steam the cauliflower: Add 1 inch of water and a pinch of salt to a large pot fitted with a steamer basket. Steam the florets, covered, until just crisp-tender, 4–5 minutes. Drain well and pat very dry so they brown instead of steaming in the oven.
Roast the cauliflower: Toss the dry florets on a sheet pan with the reserved bacon drippings, olive oil, 1/2 teaspoon kosher salt, and 1/4 teaspoon pepper. Roast until edges are golden, 10–12 minutes, stirring once. Reduce oven temperature to 375°F.
Make the sauce while the cauliflower roasts: Whisk the cornstarch into the cold milk until smooth, then pour into a medium saucepan. Add dry mustard, garlic powder, Worcestershire, sea salt, and a pinch of pepper. Cook over medium heat, whisking, until the mixture gently bubbles and thickens, 3–5 minutes.
Take the pan off the heat and whisk in the cream cheese until melted and smooth. Stir in 1 1/4 cups shredded cheddar and the butter until glossy. Taste and adjust seasoning.
Combine: In a large bowl, fold the roasted cauliflower with half the chopped bacon and half the green onions. Pour the hot cheese sauce over the top and gently toss to coat.
Assemble and bake: Spread the mixture in the prepared baking dish. Sprinkle with the remaining 1/4 cup cheddar and the rest of the bacon. Bake at 375°F until bubbly around the edges, 8–10 minutes. For extra color, broil 45–60 seconds, watching closely.
Finish with the remaining green onions and serve hot.