PsychoPy does not support multiple displays on OS X and inherits that deficiency from Pyglet. Two of the symptoms are that, in both APIs, arguments specifying on which display to open fullscreen windows are ignored and also that Pyglet reports the identical display resolution for displays of different resolution; It’s telling me that I have two 1920x1080 displays connected to my Mac Mini, whereas really only one is and the other a 4K display.
Those bugs are not present on Windows and Linux.
There is an old thread online somewhere about this issue in PsychoPy, with speculation that it owes to a deficiency in OS X. Actually, creating full-screen windows on any connected display works fine from OS X native system APIs and it also works from the Python GLFW module, I just installed that and tested it.
Two of my options are to either fix Pyglet or otherwise to adapt what I need out of PsychoPy to run on GLFW instead of Pyglet.
It felt like the right moment to raise the issue again here, in case anyone has more up-to-date information about prospective fixes in the works.