Grate 1/2 teaspoon of zest from 1 orange into a large mixing bowl. Squeeze in 1/3 cup of orange juice. Stir in the lemon juice, 3/4 teaspoon salt, 1/2 teaspoon pepper, the garlic, rosemary, and 1/4 cup of the oil. Reserve 1/4 cup of the dressing. Add the chicken to the bowl, cover, and refrigerate for 30 minutes.
Heat grill to medium. Place the chicken, skin-side up, over indirect heat and cook, covered, for 35 minutes. Turn the chicken and cook, uncovered, over direct heat, until cooked through, about 10 minutes.
Meanwhile, brush the onion with the remaining oil and season with 1/4 teaspoon salt and 1/4 teaspoon pepper. Grill until tender, 8 minutes. Peel the remaining orange and slice into 1/4-inch-thick rounds. Combine them with the onion, lettuce, and reserved dressing in a bowl. Transfer to individual plates. Serve with the chicken.