Sorry about the delayed reply, I've been away.
Many thanks - you've solved it for me. The misbehaving rewrite rules did not have ErrorDocuments excluded.
Those rules worked for years on the old server, so I didn't realise they needed to be.
Also, I don't use a custom 500 error doc, and the paths to the 4xx ones were exactly as you say they should be.
With regard to accessing the Error Log file - we have cPanel which does show most errors for a short while. But the Log details I quoted above, came from the full actual (shared) server log that is only accessible to our host. I don't think there is any Host that allows access to those.
And interestingly the cPanel Error Log, did not show anything at all when the looping 403 turned into a 500 error. That was another thing that added to my confusion.
Thanks again for your help - much appreciated!