I would suggest that you look at how this is handled in standard terminals. This works in the form of escape sequence which give a code that the terminal can interpret as being a color. This would make it available to applications in a standard form.
Good point. The GNU part of GNU/Linux devotes a lot of logic into managing terminals. Eg. https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html and https://linux.die.net/man/5/terminfo and https://pubs.opengroup.org/onlinepubs/007908799/xcurses/terminfo.html and etc...
NuttX generally just hard codes VT-100 terminal types (or the almost-dentical ANSII terminal type). But there are lots of others. Perhaps we should really be considering how we handle terminals in general not just color on or off? That is really what the current discussion is about, terminal capabilities (termcaps) and customizations. Maybe, as a start, we should consider a terminfo/termaps for monochrome vs. color only. That would be a step in the Unix direction version yet-another-ad-hoc-config-setting.