I think, for now it is more important to get the playback performance right on higher resolution displays. It seems that the current video rendering can sometimes slow down the playback more than the j2k decoding (or at least in the same ballpark). I think users are more concerned about stuttering than color.

VLC can use GPU aided decoding/rendering (I don't mean J2K) across all platforms it seems, so, DCP-o-matic may be able to do it as well?
Maybe you can profile the issues about the actual viewport rendering (scaling, color conversion, etc.) somehow?

I think in Windows there are so many different APIs to render videos, and some of them may bypass system color management, some not. I am sure it's a nightmare. Professional color graders use dedicated output hardware for monitoring (e.g. a HDMI card for rec.709, or HDSDI for P3) to make sure they see proper colors.

I think most users simply underestimate the effort needed to establish and maintain a solid calibrated display pipeline between capture, editing, color grading and playout. They assume that what they saw during the editing on 'some' display has to be the same what DCP-o-matic player is showing on the same or a different display. We simply have to communicate that a DCP can only be judged by playing it back on a calibrated cinema projection system.

There may be some 'hard' issues around color misinterpretation though that need to be addressed (e.g. full/limited range, etc.). These can cause considerable differences beyond the screen calibration issue.

I have seen similar color rendering complaints about NeoDCP. NeoDCP offers some display gamma options to adjust playback. As soon as you mention them, the discussion ends. Which typically means, users then simply choose a different gamma for playback until it suits their taste, but do not care wether that is an educated decision towards truthful color rendering. Then they may be surprised or not in the cinema again.

Again, I would love to see a cursor based xyz and x'y'z' display in video waveform monitor, as that would make it easier to pinpoint issues. We need to make sure that the proper values go into the DCP first.