In a large skillet, heat 2 tablespoons olive oil over medium heat. Add the onions, season with salt and pepper and cook, stirring occasionally, until soft and caramelized, about 30 minutes; transfer to a bowl. Pour the chicken broth into the pan, scraping up the browned bits, then pour into a measuring cup.
Using the same skillet, heat 3 tablespoons olive oil over medium-high heat. Season the chicken with salt and pepper, add to the skillet and cook, turning once, until cooked through and golden, about 8 minutes; transfer to a plate. Pour in the reserved chicken broth mixture and cook until reduced by half, about 3 minutes.
Divide the onions among the toasted roll bottoms, then top with the chicken. Dip the cut side of the roll tops into the skillet, then set on top of the chicken.
In a serving bowl, whisk together the remaining 1 tablespoon olive oil and the lemon peel and juice; season with salt and pepper. Add the mixed greens and toss; serve with the sandwiches.