IIRC, Cassian's supposed to be from a Separatist world. Therefore, he's probably lumping in the fight against the Republic. That would give him another 4 years to work with, so 24-28. He's also obviously been through a lot, which can make one look older than their age.