To answer my own question: There doesn't seem to be a way to make OpenLP dispense with the "display" window, or at least to stop forcing it to be on top of anything else on the physical screen.
Fortunately, you can created a nested X server running inside a window. Then start OpenLP running on that X server (instead of the real X server). OpenLP then thinks that it has only one screen so it doesn't bother with a "display" window.
Here is a little shell script which starts Xephyr (the nested X server) and then starts OpenLP running inside Xephyr. When OpenLP exits, the script kills Xephyr.
-- Art Z.
#!/bin/bash
Xephyr -br -ac -noreset -screen 800x600 :1 &
sleep 1
DISPLAY=:1 openlp
kill %1