Media.list API lastPlayedAt member behaving strangely

Hi Everyone
I am trying to download our media usage on a daily basis and so rather than loop round on the 64000+ media records we have and call the usage report for each one I decided to just return the records that had been played for the previous day and call the report for those.
Unfortunately I am getting unexpected results, firstly the lastPlayedAt member seems to be rounded up or down to the nearest hour, which I can live with but most importantly the lastPlayedAt member filters do not seem to be working.
If I call the media.list API for all records and sort by lastPlayedAt desc the first record shows with a timestamp of 1628604000 which was yesterday at 3pm but I know there are records with a timestamp after that and if I use the media.get API for one of them I can see the timestamp is clearly later. This also seems to be affecting the lastPlayedAtGreaterThanOrEqual filter as if I try and use it to return those records updated yesterday or today most are missing.
I am downloading all the media records with a updatedAt date > yesterday morning and this clearly shows some of them have been played yesterday or today but the lastPlayedAt filters are just not picking them up.
Am I missing something obvious about this member?
Thanks