That's always worked, most of the time anyway. When an email shows as read in Outlook, go check on the email service's webmail. It still shows as unread there, and that's the problem. It works flawlessly with MailBird though.
RTA please: "... fixes the problem... both Gmail and IMAP". So I'm clearly not talking about mark as read just appearing to work when set in Outlook - or why would I even be here on this question?
Changing that setting means the mark as read flag is appropriately set in the server and is therefore updated in Gmail client too. You know, how it should work regardless of whether you mark as read on open or on selection change.
To summarise: mark as read still fails to properly trigger server side, only appearing as read locally in Outlook, when marking as read on message open. However, mark as read appropriately triggers the flag change server side when marking as read on selection change.