Grainger, it doesn't sound like he could be trusted in a HBB if he's trying to escape from the group 1 seat. I'd try one of these for now.
I would always go by weight, as long as the child isn't too tall for the seat (ears above top of seat or shoulders too high for straps). If your son's houlders are too high and that's why he's managing to wriggle out, there are likely to be other seats with higher shoulder straps.
nicm, group 1 seats are defined as 9-18kg, so your child is too heavy at 21kg. Unless you've mistyped the weight or you mean you have a group 1/2 seat up to 25kg.