I've built some scripts to automatically extract metadata from the Kindle and sync it to user defined custom columns in Calibre. This lets me sort my book collection by read/unread, date last read, number of reads, etc.
The data is provided by
KRDS:info like position, completion status, hours read, etc.
If there is interest, I could clean this up and publish it as a calibre plugin. Years ago I saw quite a few threads about this, but I'm not sure if amazon has ever added this ability to newer kindles as mine is quite old now.
For me, my kindle only shows 0-100%, and that percent is reset if you ever open the book to a different page so your progress is lost. There's also no way to see if you read a book more than once, or sort by progress/last read.
This could also be easy to expand to other devices if extractors like KRDS exist on those platforms, but I haven't looked into that yet.