Are you sure you want to host your own mailserver? It's a hazzle, and also something the VPS host might not allow. If you don't do the actual mailserver, #Nextcloud has calendar, contacts and webmail apps. (Plus a lot more) Regarding the VPS I would suggest one in a datacenter with good connections to where you usual use it from. I've used Digital Ocean and Hetzner. Start with a small one and play around until you are comfortable with and move up to a larger more permanent one.