elm / pine / lynx used to be enough for email and web browsing but now you’ve got requirements that are at odds with plain text display. (And we’re all in the same boat as you - ...
It misses #8 (no mobile version) and #9 is so-so (loses some formatting but I'm thinking it's Notes that's the problem)...but it is very stylish, snappy, and seems to have a lot of nice UX innovations (e.g. quick replies below every email, sort emails into folders with pre-defined keystrokes, themes...)
The workaround is to change the number of seconds required for the mail to be marked as read. The default value is 2.
Please type the below command in terminal and it should do the trick. Tested on Big Sur (11.2.3)
defaults write com.apple.Mail MarkAsReadDelay 0