I have tried disabling all the third party plugins/extensions and it makes no difference.
The new host is running PHP 8, but then so was the old host, so I don't think that's the issue.
The error seems to have something to do with the announcements system, but as I say it doesn't seem to be impacting anything - I can create/view/edit announcements and it all works fine.
Even with the announcements table empty the error keeps occurring.
The main issue is that this error is filling up the system log table with huge numbers of entries.
The minimum setting for purging the system log is insufficient, so one thing I could do is run a php script via cron to clear the system log table of these particular entries every day - that would prevent it from getting too large.