That will do the trick — I was not aware of this change in 2.2, thanks-)
To be clear, the 2.2 change was additional read preferences (primaryPreferred, Secondary, and Nearest). As mentioned, the SlaveOK (or "Secondary Preferred") read preference is available in previous versions.
But, just to make sure: there is no way to allow read-only queries to secondary on server side, right? Application(driver)-level only.
Yes, the read preferences are set via application/driver options. The default read preference is "primary".
Depending on your driver, you should be able to set the read preference on a per-connection, per-collection, and per-operation basis.
Cheers,
Stephen