Preheat the oven to 350°F (175°C). Cook the whole wheat lasagna noodles according to package directions; drain and rinse under cold water to prevent sticking.
Chop the cauliflower into small florets and slice the mushrooms if not already sliced.
Heat 1 tablespoon olive oil in a large skillet over low–medium heat and sauté the chopped onion until soft and translucent.
Add the remaining 1 tablespoon olive oil to the skillet, then whisk in the whole wheat flour to form a roux, stirring constantly for about 1 minute.
Gradually whisk in the milk a little at a time, keeping the mixture smooth and scraping any flour from the pan; continue whisking until the sauce thickens.
Stir in the onion powder and 1 cup of the grated parmesan; remove the sauce from the heat when it is thick and smooth.
Lightly oil a 9x13-inch baking dish and place a layer of cooked noodles on the bottom.
Top the noodles with a layer of cauliflower florets, then a layer of sliced mushrooms, and spoon some white sauce over them. Repeat layers as needed.
Finish with a final layer of noodles on top and sprinkle with the remaining 1/4 cup grated parmesan.
Cover the dish loosely with foil and bake at 350°F (175°C) for about 1 to 1½ hours, or until the cauliflower is tender and cooked through.
Remove from oven and let stand until it has cooled enough to serve safely, as the casserole retains heat.