Well you are not the typical user. Full local storage is very often not possible on mobile devices. In the corporate world you can often see mailboxes with tens of GB. So if you have 30 GB just for your email when your device only has 64, you certainly don’t want to have full sync. You will soon have some sort of an archival process, manually or automatically.
Second, IMAP does not handle contacts or calendar directly. This is huge ever since Exchange and outlook. Kolab/Cyrus has a CalDav and CardDav and it works mostly, but these are accessed via HTTP.
IMAP and SMTP also have the problem that they are blocked very often by firewalls, this usually doesn’t happen with HTTP(S).
Exchange itself has standardized mobile device access with the ActiveSync protocol. Works, quite a few open source implementations. There you get Mail, Contacts, Calendar, Tasks etc. I guess JMAP tries to be better than ActiveSync.
I use Kolab (for business) on the server, Nine and K-9 apps on Android. Works nicely.