Thank you for the help. You were right, it was the OpenGL settings.
If I enable OpenGL then OpenCPN slows to almost unusably slow but the windows behave better.
But if I enable OpenGL and then select "Software OpenGL" the performance returns to being pretty good, and the windows work
So I guess the fix on Raspian is to enable Software
In case anyone stumbles on this post in the future with the same problems.
OpenCPN version 5.6.2-0+b75be76
Debian GNU/Linux 11 (bullseye) aarch64
Raspberry Pi 4 Model B Rev 1.4