When I had to use Office and LibreOffice wasn’t sufficient, I just had a Windows VM running. The web versions are hot garbage (or at least used to be 3 years ago and I doubt that’s changed). I’m not sure if there’s a direct way to mount OneDrive on Linux (rclone maybe?) but if there isn’t you could do that via a network share over the VM.
KMail can connect to Exchange mailboxes. KOrganizer might even be able to access the calendar from one, I don’t remember.