Along with cleaning the connectors, try this.
With the watch not connected, hold three buttons down (light, down and start buttons) for 15-20 seconds and try charging again.
I just finished chatting with Erica from Garmin Support Centre. The chat took less than 10 minutes and resulted in them sending me a refurbished watch, and I'll send in the defective one when I receive…
Mine wouldn't charge at ALL. I did your trick thinking it wouldn't work as there was no power left but it worked. Thank you!
Could it be a bug in reporting? If you plug it in for an hour, will it report the higher charge level after a reboot? If not it sounds like a hardware issue.
One thing I have noticed is that the battery calculation changes depending on the firmware. As a last ditch effort, I would grab the v4.64 beta and downgrade to v4.20 and see what happens. You've already done a hard reset, so it's not like you're going to lose any more data. It might purge out a something that might be stuck.
Worst case, you connect to express and upgrade to v5.10 again.
Just an FYI, if you grab your settings, totals, records, sports, locations, courses, and workouts you should be pretty whole again. The only other thing is VO2Max, which will actually sync from another device (like 920XT) if you turn on TrueUp in connect.