I use an X22 with Linux, and I simply added chvt to my suspend script to change to a text console before suspend. OpenBSD does not have chvt as far as I know, but Google found the following: http://www.cs.cmu.edu/~joshuad/wsswitch.c
I haven't tested it, but I guess it should do the job, unless the machine needs saving and restoring of config registers (which can be done in linux by saving the contents on mysterious files in /proc/pci and writing them back after resume).