Preheat oven to 425°F (220°C). Line a large rimmed baking sheet with parchment paper or foil.
Combine garlic powder, smoked paprika, onion powder, chili powder, salt, and pepper in a small bowl for the spice rub.
Pat chicken dry, drizzle with 1 tablespoon olive oil, and coat both sides with the spice rub.
Toss halved potatoes with 1.5 tablespoons olive oil, garlic powder, salt, and pepper. Arrange cut-side down on half the sheet pan. Roast for 15 minutes.
Toss onion wedges with olive oil, salt, and pepper. After 15 minutes, add onions to pan and roast 10 more minutes.
Arrange seasoned chicken on the other half of the pan in a single layer. Roast for 15 minutes.
Toss broccoli with remaining olive oil, salt, and pepper. Add to pan, filling gaps. Roast 8 minutes.
Mix BBQ sauce with honey (if using). Brush generously over chicken. Roast 5 more minutes.
Switch to broil (high). Broil 2-3 minutes until sauce caramelizes and bubbles. Watch closely to avoid burning.
Check chicken reaches 165°F (74°C) and potatoes are fork-tender. Let chicken rest 5 minutes before serving.