I have absolutely no idea on which exact terminals it is supported.
Afaik, cmd.exe only support 16 colors, which is why jline has colors=16 for the "windows" terminal
So from a jline's perspective, the expectation is that it will only use the number of colors from the infocmp capability.
As a jline's user, you should try to use AttributedString instead of raw ansi sequences, because if they are not fully supported, there will be some kind of emulation (colors will be rounded).
You can also detect if that's "supported" by checking the terminal's color capability as done in the above code.
That said, there may be bugs, especially on windows. So if a terminal indicates the wrong number of colors, please raise an issue and give the full combination to replicate the problem.