What I ended up doing, for anyone (probably me) googling this later:
Checked mmcblk0p1/config.txt on both Pis, to ensure both had the lines
enable_uart=1
to enable the serial console, and
dtoverlay=pi3-disable-bt
to disable the bluetooth (this line is specific to Pi 3). I did this so that the console can be run through the (better) /dev/ttyAMA0 interface, rather than /dev/ttyS0.
In 8.1.4, both lines were included in config.txt by default.
Modified mmcblk0p1/cmdline3.txt on both Pis:
Changed console entries on the server to console=ttyAMA0,115200 console=tty1
and removed all console=
entries on the client.
Modified /opt/bootlocal.sh, to change terminal startup.
Commented out the stock serial terminal startup line
/usr/sbin/startserialtty &
on both machines.
On the server only, added the line
/opt/serialtty.sh &
(we'll get to that script next).
On the server, created a script /opt/serialtty.sh
#!/bin/sh
# Start serial terminal on Raspberry Pi
while :
do
/sbin/getty -L /dev/ttyAMA0 115200 vt100
done
This forces the console to use /dev/ttyAMA0, so it assumes bluetooth is disabled.
...et voila!