Prep the chicken. Pat the chicken dry with paper towels.
Cut into bite-size pieces and set aside. Dry chicken helps the coating stick and crisp up.
Mix the coating. In a large bowl, whisk the cornstarch, flour, baking powder, salt, and pepper. Toss in the chicken until every piece is well coated.
Press the coating on lightly so it adheres.
Heat the oil. In a wide skillet or Dutch oven, add enough oil to cover the bottom by about 1/2 inch. Heat over medium-high until it reaches about 350°F, or until a pinch of coating sizzles on contact.
Fry in batches. Add chicken in a single layer, without crowding. Fry 3–4 minutes per side until golden and cooked through.
Transfer to a wire rack or paper-towel-lined plate. Repeat with remaining chicken.
Make the sauce base. In a separate skillet or saucepan, add orange juice, zest, soy sauce, sugar, rice vinegar, ketchup, garlic, ginger, and chili flakes. Bring to a simmer over medium heat, stirring to dissolve the sugar.
Thicken the sauce. Stir the cornstarch slurry, then pour it into the simmering sauce.
Cook 1–2 minutes, stirring, until glossy and thick enough to coat a spoon. Remove from heat and stir in sesame oil if using.
Toss the chicken. Add the fried chicken to the sauce and gently toss to coat. If the sauce seems too thick, splash in a tablespoon of water.
If it’s thin, simmer another minute.
Serve. Top with green onions and sesame seeds. Serve hot over steamed rice, fried rice, or pan-fried noodles.