systemctl does not appear to have a mechanism for specifying when to color the output. A quick solution would be to shim isatty(3) to always return true, thus tricking systemctl into thinking stdout is interactive. Namely you could do:

# echo "int isatty(int fd) { return 1; }" | gcc -O2 -fpic -shared -ldl -o isatty.so -xc - # LD_PRELOAD=./isatty.so watch -n300 --color systemctl status plexmediaserver