Whisk the orange juice, soy sauce, and honey together in a medium bowl or large measuring cup until combined.
Put the chicken pieces into a zip-top bag, pour in the marinade, remove excess air, seal, and gently massage to coat the chicken.
Place the sealed bag in a shallow baking dish to catch leaks and marinate at room temperature for at least 30 minutes, or refrigerate for several hours or overnight for more flavor.
If using wooden skewers, soak them in water for at least 1 hour before grilling to prevent burning.
Preheat an outdoor grill or indoor grill pan to medium-high (about 425°F / 220°C).
Slice one orange into 1/4-inch-thick rounds and cut the rounds in half; set aside the other orange cut in halves for grilling later. Cut the onion and bell pepper into 3/4-inch chunks.
Thread the chicken, onion, bell pepper, and orange half-rounds onto skewers, alternating ingredients; fold each orange slice in half before threading through both layers.
Oil the grill grates lightly, place the skewers on the grill, cover, and cook until the chicken is no longer pink in the center, about 6–8 minutes, turning once or twice for even cooking.
Season the cooked skewers with kosher salt and freshly ground black pepper, then cover to keep warm while you char the orange halves.
Place the cut sides of the reserved orange halves directly on the grill grates and char for 2–4 minutes without moving for the first 2 minutes, until nicely marked. Let cool slightly, then squeeze the juices over the skewers.
Sprinkle with chopped fresh cilantro, if using, and serve warm.