Aha, I have now! It was not included as a dependency for some reason. Thank you for the pointer.
So now cupsd is present in /etc/runit/sv:
# ls /etc/runit/sv
NetworkManager agetty-console agetty-serial agetty-tty2 agetty-tty4 agetty-tty6 agetty-ttyS0 alsa bluetoothd cupsd dhcpcd elogind lvmetad nfs-server rpcbind sddm statd syslog-ng
acpid agetty-generic agetty-tty1 agetty-tty3 agetty-tty5 agetty-ttyAMA0 agetty-ttyUSB0 avahi-daemon cronie dbus dmeventd haveged mdadm ntpd rsyncd sshd sulogin wpa_supplicant
However, it fails to start:
# sv start cupsd
fail: cupsd: unable to change to service directory: file does not exist
So I went looking and found that the service directory that sv calls for is actually in /run/runit/service:
# ls /run/runit/service
NetworkManager acpid agetty-tty1 agetty-tty2 agetty-tty3 agetty-tty4 agetty-tty5 agetty-tty6 cronie dbus elogind sddm syslog-ng
# sv status elogind
run: elogind: (pid 1414) 2273s
So any daemons that are installed into /etc/runit/sv are not seen by sv.
# sv status ntpd
fail: ntpd: unable to change to service directory: file does not exist
So I moved the cupsd directory into /run/runit/service and voila:
# mv /etc/runit/sv/cupsd /run/runit/service/
# sv up cupsd
# sv status cupsd
run: cupsd: (pid 3748) 8s
# lpstat -t
scheduler is running
no system default destination
device for Brother_HL-2240_series: usb://Brother/HL-2240%20series?serial=H2N870642
Brother_HL-2240_series accepting requests since Tue 06 Nov 2018 04:07:09 PM EST
printer Brother_HL-2240_series is idle. enabled since Tue 06 Nov 2018 04:07:09 PM EST
kde5 printing module picks up the printer and localhost:631 is able to connect. Everything works fine! Hopefully this will help anyone else facing printing troubles with runit.
The only question remaining is why daemons are installed to /etc/runit/sv if sv points to /run/runit/service? It seems there are duplicate services in both directories, but sv only sees the /service directory and can only control services from there unless it can be redirected.