Preheat the oven to 350°F (175°C). Prepare a 9x13-inch baking dish by lightly oiling it.
Cook the whole wheat lasagna noodles according to package directions. Drain and then refill the pot with cold water to keep the noodles from sticking; set aside.
While the pasta cooks, chop the cauliflower into florets and slice the mushrooms; set aside.
Heat 1 tablespoon olive oil in a saucepan or skillet over medium-low heat. Add the chopped onion and sauté until softened and translucent, about 5–7 minutes.
Push the onion to one side, add the second tablespoon of olive oil, then whisk in the whole wheat flour until combined and slightly cooked, about 1 minute.
Gradually whisk in the low-fat milk a little at a time, keeping the mixture smooth and scraping any flour lumps 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 once thick and smooth.
In the prepared baking dish, arrange a first layer of noodles. Add a layer of cauliflower florets, then a layer of sliced mushrooms, and spoon over some of the Parmesan sauce. Repeat layers until ingredients are used, finishing with a final noodle layer.
Sprinkle the remaining 1/4 cup Parmesan over the top, cover lightly 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 the oven and allow the lasagna to cool for several minutes before serving, as it retains heat.