Prep ingredients: Preheat oven to 450°F with a rack in the center. Bring a medium saucepan of salted water to a boil. Cover and keep warm over low. Peel and finely chop
2 teaspoons garlic. Halve onion, then peel and thinly slice. Halve half of the grape tomatoes lengthwise (save rest for own use). Finely chop 1 tablespoon dill fronds and tender stems together, reserving a few fronds for garnish.
Prep shrimp: Pat shrimp dry, then transfer to a medium bowl. Add 1 teaspoon of the chopped garlic, 1 tablespoon oil, and a generous pinch each of salt and pepper, tossing to coat shrimp. Set aside until step 5.
Roast onions & tomatoes: On a rimmed baking sheet, toss onions, tomatoes, 2 tablespoons oil, and a generous pinch each of salt and pepper. Roast on center oven rack until tomatoes are jammy and onions are tender and lightly browned, 10–12 minutes.
Cook & season orzo: Add 1 cup orzo to boiling water and cook, stirring occasionally, until al dente, 6–8 minutes. Reserve ¼ cup cooking water for step 6, then drain orzo well. Return orzo to pot and add chopped dill, remaining chopped garlic, and 1 tablespoon butter. Cover to keep warm off the heat.
Roast shrimp: Add shrimp to baking sheet with onions and tomatoes, making sure they have direct contact with baking sheet. Roast on center oven rack until shrimp are curled and firm, 5–7 minutes.
Finish & serve: Add 2 tablespoons of the reserved cooking water to baking sheet with shrimp and stir to combine. Stir remaining cooking water into orzo to loosen. Serve herb orzo topped with shrimp pan roast. Crumble feta over top, then garnish with remaining dill fronds.