Bring a large pot of salted water to a boil. Add the pasta and cook as the label directs, adding the broccoli during the last 3 minutes of cooking. Reserve 1 cup cooking water, then drain.
Meanwhile, melt the butter in a large saucepan over medium heat. Add the Canadian bacon and cook, stirring occasionally, until golden and slightly crisp, about 5 minutes. Transfer to a paper towel-lined plate using a slotted spoon; reserve the drippings in the pan.
Add the scallion whites, 1/4 teaspoon salt and a few grinds of pepper to the saucepan. Cook until slightly softened, 1 minute. Whisk in the flour and mustard; cook, whisking, until the flour is lightly toasted, about 2 minutes. Whisk in the milk and reserved pasta water. Cook, whisking, until slightly thickened, about 5 minutes. Add the cheeses; cook, whisking, until creamy, about 2 more minutes.
Stir the pasta, broccoli and Canadian bacon into the cheese sauce. Season with salt and pepper. Serve topped with the scallion greens.