Preheat the oven to 350 degrees F. Brush an ovenproof casserole dish with oil.
Bring a pot of water to a rolling boil over high heat. Place the yellow squash and onions in a steamer basket and set over the boiling water; steam until the squash is just tender. Repeat with the zucchini and steam until just tender. (You can also place all of the vegetables in a microwave-safe bowl and zap it until tender, about 4 minutes, depending on the strength of your microwave.) Transfer the vegetables to a large bowl.
Heat the canola oil in a saucepan over medium heat. Add the flour and stir until very pale brown. Add the milk and whisk until smooth. Bring to a boil over high heat, then remove from the heat. Add 1 cup of the cheese and stir into the sauce. Taste and adjust for seasoning with salt and pepper.
Pour the sauce over the squash and onions; stir to combine. Add the eggs, half of the breadcrumbs and the herbs and stir to combine. Transfer the mixture to the prepared casserole. Combine the remaining 1/2 cup breadcrumbs and 1/4 cup cheese and sprinkle on top of the squash mixture.
Bake until firm and brown on top, 30 minutes. Remove to a rack to cool slightly before serving.