I think I have it sorted, @macom.
A few searches made it clear that official docker images are usually not ARM-friendly. There are plenty of supposed solutions and even some images that will work on most of the RPi family.
The solution that worked for me can be found here - it's a very concise, straightforward and well-presented guide, but I had to research two resulting errors to find the missing piece of the puzzle, which slots in before the final step:
sudo apt install -y python-all-dev python-wheel
Then finish it up with:
sudo pip install docker-compose
And surprise, surprise: my original docker-compose.yml worked perfectly first time!
docker@phewtus:~/nextcloud$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
linuxserver/letsencrypt latest 40d5e2dbd8f2 16 hours ago 224MB
linuxserver/nextcloud latest 3cc1ef5127b9 26 hours ago 264MB
linuxserver/mariadb latest db16f0c83902 4 days ago 278MB
docker/compose 1.24.1 9bd979cced2e 4 months ago 67.9MB
arm32v7/hello-world latest 618e43431df9 9 months ago 1.64kB
Thanks for your help with this one - now that I've got it working, I'm sure I'll be back before long with more questions on getting it to work as I want it to!