Client not reading from Mongo secondary database
Using "ReadPreference.SECONDARY_PREFERRED" does not provide any such guarantee to read from a node in the same region. 

I'm not familiar with Mongoose but the first thing I would do is prove this via the Mongo shell first. Second I would remove the redundancy you acknowledged above. If it shouldn't be there, get rid of it. Via the shell; try using a read preference of "secondaryPreferred" but really what I think you want is "nearest" which will read from a node with the least network latency.
Again; I cannot speak towards Mongoose specifically but there are some non Mongoose related to resolve first per what you shared.

The best this will do is confirm for you if you have a Mongoose issue or not. 

Also; using a WriteConcern of 0 and reading from Secondary nodes is not a terrific practice if you rely on the data being on the secondary. If you are okay with the eventual consistency, then a write concern of 0 and reading from secondaries is fine.