Rather than having loads of socat listeners idling around where lots of them don't get used, it may be better to use systemd socket activation.
systemd-socket-proxyd might help.
Otherwise stackexchange claims socat also works with systemd socket activation.
Ideally, we could avoid having one systemd unit file per port redirection. Perhaps systemd template unit files can be used.