Since you’re hosting with Ghost Pro, you may want to reach out to their support email (support@ghost.org). This is a community support forum, although although I contribute to the open source project, I don’t work for Ghost.org.
To get your custom domain working, you do need to make A and CNAME records as directed, and then you need to click the “Ghost Pro” link from the dashboard and link a custom domain. If your DNS changes are ‘fresh’, it might be an hour or six before that works, due to DNS caching. This would be a good one for the support team, since they can see your actual settings and know your domain name. [But it’s Friday and late in some parts of the world, so if you’re hoping to get it resolved today, feel free to post the actual domain and actual error message, and maybe we can get you sorted out today.]
Let me see if I can clarify the email situation, one old-timer to another! (Built my first site before Clinton was president.)
Ghost sends outbound newsletter email using Mailgun, which Ghost pro will configure for you. It also sends transactional email - there are more options for self-hosters, but for Ghost pro, it’s also Mailgun. You don’t have to make any DNS entries for email if you’re on Ghost Pro, but your emails will likely show up (depending on the client) as being from “you@youremail.com via ghost.io” or similar. To send newsletters with your actual domain (no “via”), you need to follow the directions for custom email domain. Don’t tackle the custom email domain that until you’ve got your custom domain set up and working. One problem at a time, and in the right order. [Comment: Don’t be put off by self-hosters having issues setting up email. It should be super easy on Ghost Pro.]
Outbound email is basically unrelated to inbound email. Inbound email is determined by MX records (DNS entries). Those tell other servers where they should send emails addressed to @example.com. Ghost does not provide inbound email, nor an email inbox. You need to arrange that separately. Lots of people find this confusing, because many hosting companies provide both web hosting and email, but there is zero reason you have to get both services in the same place.
Fastmail probably wants just some MX records. (And some TXT records showing that they’re allowed to send email on your behalf from @example.com.) Those are compatible with having a custom domain with A and CNAME records that point to Ghost.
You can use any inbox provider. (If you’re already with Fastmail and like them, by all means, stay there.) There are lots of paid services for single digits/month if you need something new. Google, Microsoft, etc all offer paid email hosting for custom emails (while you@gmail.com is free, you’ll pay for you@example.com). You can also look for email forwarding (offered by many domain registrars) that causes emails sent to you@example.com to show up in your you@freeemaildomain.com email.
Hope that helps, and welcome to Ghost! I hope you’ll love it!