One last reply to my own thread - in case this helps anyone else....

The restore mentioned before seemed to complete successfully, with only three complaints along the lines of:
We seem to be looping a lot on out/@/..., do you want to keep going on ? (y/N/a):
The three files were all quite large datafiles which I knew had not been touched since the last backup, so I accepted the N option..

Confident that I had all recently modified files copied, I tried btrfs rescue as follows:
# brtfs rescue super-recover -v /dev/sdb3
ERROR: superblock checksum mismatch
ERROR: superblock checksum mismatch
All Devices:
Device: id = 1, name = /dev/sdb3

Before Recovering:
[All good supers]:
device name = /dev/sdb3
superblock bytenr = 67108864

[All bad supers]:
device name = /dev/sdb3
superblock bytenr = 65536

Make sure this is a btrfs disk otherwise the tool will destroy other fs, Are you sure? [y/N]: y
Recovered bad superblocks successful

I then ran the check again:
[root@uno susepi]# btrfs check --readonly /dev/sdb3
Checking filesystem on /dev/sdb3
UUID: 0b2c007e-1581-42e2-a05c-4a66eb4c115d
checking extents
checking free space cache
checking fs roots
checking csums
checking root refs
found 6819106834 bytes used err is 0
total csum bytes: 6451088
total tree bytes: 203522048
total fs tree bytes: 181485568
total extent tree bytes: 12484608
btree space waste bytes: 35735563
file data blocks allocated: 11768950784
referenced 9284182016

Which looks pretty good.

Re-inserted SD card into a RPi, and I have the original system back!