I feel your pain. This year, DD's gym offered us two "options" for practice. Either she starts at 3:30 and enjoys a four day schedule, or starts at 4:30 and goes five days. DD's school dismisses at 3:53, and as DS is at another school which dismisses at 3:40, add in a dash of his dawdling, often a missing item he runs back into school for, plus traffic, I'm usually one of the last cars to pick up DD and it's easily after 4pm before she's in the car.
We started the school year with the 4:30 schedule. She hated it. She'd arrive and see half of her teammates already working out and get furiously jealous. Plus one teammate goes to her school and was attending her earlier group. Plus, the 4:30 girls were apparently told that they could warm up and join the 3:30 girls as soon as they arrived (DD and I were never told this). DD could start at 4:25 on a good day. So, DD then saw all but one other 4:30 girl starting around 4:00. She was so frustrated she was talking about quitting - she felt it was unfair (she was also suffering from a mild injury at the same time).
Trying to cut to the chase, we've recently begun pulling DD from school 30 minutes early three days per week. She's still about 10-12 minutes late, but with the classroom schedule, I just can't pull her any sooner. She's happier, but also well aware that middle school starts next year and we're out of luck. She'll truly be lucky to make the 4:30 practice on time. So, this is a temporary bandaid. While we may get lucky and be able to arrange gym for last period one year, I highly doubt we'd get that lucky more than once. We have some big decisions to make for next year.
Anyway, a personal rant: I'm particularly frustrated because part of the reason we moved DD to this gym was because she had to dismiss early in order to get to practice at her old gym.
For me, education should be the highest priority so this kills me. In trying to think positively, though: at least we got a year respite?
Good luck and know you aren't alone.