Cook orzo in salted water until al dente. Drain, rinse under cold water, and toss with olive oil. Set aside to cool.
Blanch asparagus in boiling water for 2–3 minutes until tender-crisp. Transfer to ice water, drain, and set aside.
Cook corn if needed and prepare remaining vegetables.
In a small bowl, whisk olive oil, lemon juice, lemon zest, Dijon mustard, garlic, salt, pepper, and honey until combined.
In a large bowl, combine orzo, asparagus, corn, tomatoes, onion, and herbs.
Pour dressing over salad and toss gently to coat.
Add feta and nuts if using, then mix lightly.
Chill for at least 30 minutes before serving.