Considering at least half of all squares are empty, further compression is in order for the empty space.
Also if you're encoding the king as a position instead of a byte sequence you would have to encode their space as empty, that's an extra 2 bits
Only half of the squares are empty, you can almost make a chechboard pattern with the pieces. I don't expect an easy small worst case.
I thought the same but realized you can retrospectively 'insert' the king positions into the position sequence, shifting the remaining sequence one square along for each king, so no more bits required though the data structure is unwieldy!