What's the correct behavior for mongoDB when mongo hosts in two DC can't talk to each other
In this strange situation where somehow mongod processes are network partitioned (between DC's) but application nodes are not. DC2's mongod nodes stays on "SECONDARY" status.

So, YES, DC2 applications still keep reading from DC2 mongod nodes even if data is not updated from primary.

BUT, in this layout your PRIMARY (at DC1) won't stay as primary if there is network partition between DC1 and DC2, because you have four voting nodes and after loosing two votes (DC2) there is no majority. 

You need arbiter and it should be located at DC3. There should never be 'even' vote count in replica set.