I would suggest moving as much as you can (such as $10k) to the card you want now, but if a lot remains after that on the older card, leave it open for now.
Then in a bit over half a year, see if you can move credit limit from that older card again. (IIRC, they may need a wait of 6 months or more between customer-requested moves of credit limit between cards.) If after the next move (whenever you manage to get it) you've moved most of the credit limit out of that card, then cancel it.
You can't count on Citi necessarily waiving the annual fee every year. I had a particular card that they waived it / offset it* for at least 2 years in a row, but this year they refused. So I cancelled it (after moving some credit limit from it to another card I wanted to keep). In my case, I'd already had them "steal" credit limit from this card a few times before (each time they said they needed $2k or $3k of credit limit from some other card to approve a new card I'd just applied for), so this one last move reduced it to the minimum of $3k credit limit.
(*More common than outright "waiver" is something like: Pay the annual fee now, make 5 purchases in the next X months, and we'll issue a credit equal to the annual fee. That's why I mean by "offset it".)