Sounds like that's an Android problem, not OnePlus specifically. Unread badges do not exist in stock android, which is why you had to download a new lauincher and its unread badge add on in order to enable them. I don't know why Gmail and Google calendar couldn't do what you wanted them to do...