User lets membership expire, and then signs up again, membership stays as expired?
For anyone else that stumbles across this because they are facing something similar:

I got a response on mattermost from Matt @ MJW consulting pointing me to this issue - https://lab.civicrm.org/dev/membership/issues/18

Other people have come across this, there is a patch, but it hasn't been progressed yet.