To prepare asparagus stock and asparagus: Trim the asparagus by breaking off the woody ends. Place the trimmings and the garlic in a medium saucepan and add 2 quarts water. Bring to a boil, add 1 teaspoon salt, reduce heat, and simmer, partially covered, for 30 minutes. Discard stems and garlic; reserve liquid.
Fill a bowl with ice and water. Bring the saucepan of cooking liquid back to a boil and add the asparagus stalks. Blanch until tender but not mushy. Thick asparagus stalks will take 4 to 5 minutes, medium and thin asparagus about 3 minutes. Transfer, using tongs, to the bowl of ice water. Do not discard the cooking water.
Cool asparagus, then drain it and dry it on a clean dish towel. If the asparagus stalks are thick, cut in half lengthwise first, then cut all the asparagus into 3/4-inch lengths. Set aside.
To make béchamel sauce: Heat oil (or oil and butter) over medium heat in a heavy medium saucepan. Add shallot or onion and cook, stirring, until softened, about 3 minutes. Stir in flour and cook, stirring, until smooth and bubbling, but not browned, about 3 minutes. Whisk in the milk and 1 cup asparagus stock (the reserved cooking liquid) all at once and bring to a simmer. Whisking all the while, simmer until the mixture begins to thicken. Turn heat to very low and simmer, stirring often with a whisk and scraping bottom and edges of pan with a heatproof spatula, until sauce is thick and has lost its raw flour taste, 10 to 15 minutes. Season with nutmeg and salt and pepper to taste. Strain while hot into a large measuring cup or medium bowl. Stir in 1/4 cup Parmesan and the fresh herbs.
To assemble the lasagna: Heat oven to 350 degrees. Oil or butter a rectangular baking dish that has a capacity of at least 2 quarts. Spread a thin layer (about 1/3 cup) béchamel over the bottom. Top with layer of lasagna noodles. Add asparagus to remaining béchamel. Spoon about 1/3 cup béchamel over the noodles. Sprinkle with about 1/3 cup Parmesan.