I need to transfer an existing domain that's currently with SiteGround to Porkbun. I also need to move the existing custom email addresses from SiteGround to Zoho Mail. I'm not sure if I should transfer the domain first and then tackle migrating the email hosting to Zoho Mail or vice-versa. It's important that there's as little downtime as possible with the emails. What's the best plan of action for this?
You can do this either way but it would seem to me its more logical to move DNS first.
My suggestion would be to migrate the domain and DNS to Porkbun first - keeping the DNS records as they are for Siteground at the moment - with 1 important exception - I would make the TTL's for each record as low as practical (1 minute or 5 minutes if supported).
Once this is bedded down (give it a couple of days if you are not very familiar with testing DNS), then migrate the email. Because you have low TTLs you should be able to minimize the downtime migration changeover window.