Bring a large pot of water to a boil. Add pasta and cook for 3 minutes less than the package directions. Add asparagus and continue cooking until the pasta and asparagus are just tender, 3 minutes more. Drain and return to the pot.
Meanwhile, whisk milk, mustard, flour, salt and pepper in a medium bowl. Heat oil in a medium saucepan over medium-high heat. Add garlic and cook, stirring, until fragrant and lightly browned, 30 seconds to 1 minute. Whisk in the milk mixture. Bring to a simmer, stirring constantly, and cook until thickened, 1 to 2 minutes. Stir in tarragon, lemon zest and juice.
Stir the sauce into the pasta-asparagus mixture. Cook over medium-high heat, stirring, until the sauce is thick, creamy and coats the pasta, 1 to 2 minutes. Stir in 1/4 cup Parmesan. Divide the pasta among 4 bowls and top with the remaining 1/4 cup Parmesan.