AFAIK it is always important to have the HDMI device(s) active when Kodi starts otherwise several (if not all) things related to HDMI port(s) won't work. The reason is that Kodi performs an autodetect at start (only).
In general, systemctl restart kodi should help without complete reboot.
That seems wrong, since the point of CEC is to be able to interact with the TV while it's off (the device can send a command to turn the TV on while starting). Besides, it doesn't explain why it behaves this way even if the TV was on at startup and then turned off. Thanks for the tip on restarting Kodi though.
(There seems to be a separate issue where, if my TV is on and switched to my Rock64 and I start/restart the system, I won't see a picture. Switching to the input while it's booting sometimes works? Regardless, this didn't happen to the Pine A64, which exhibited the same symptoms related to CEC, so I don't think it's related.)
...on further testing, the above parenthetical also applies to restarting Kodi without a full reboot. However, it isn't consistent—sometimes if Kodi starts while it's not the active input, it will appear when I switch inputs, and sometimes it won't; same applies if I keep the TV on Kodi's input the whole time. Sometimes switching to the input while Kodi is starting (usually just after systemctl returns) helps. The behavior with CEC is reproducible though: if Kodi is not the active input when it's started, I can't control it with the TV remote when I switch to it/start the TV; if Kodi is the active input, remote control works but ceases to work after I switch away from its input once.