Will a majority-committed write be visible globally and immediately, to all clients reading only majority-committed data?
I believe the answer is only yes if the read happens on the primary. If the read happens on a secondary, then it may return data from an earlier majority commit point. If you change your app to use Read Preference Primary, I would expect this error to go away.