Splitting the two.
WHEN THIS APPLIES
The website is with us and mail is with an external provider, or the reverse.
Entirely normal.
WHAT TO CHANGE
MX records pointing at the external provider's mail servers, exactly as they specify.
TXT records for SPF and DKIM as the provider requires.
Remove or leave the mail hostname's A record depending on whether anything still uses it.
THE CPANEL SETTING THAT MATTERS
cPanel > Email Routing, or the equivalent, determines whether mail for the domain is delivered locally or sent to the MX records.
Set it to remote when mail is external.
If it stays local, mail sent from the server to an address on your domain is delivered to a local mailbox rather than to the external provider, and it appears to vanish.
That is the specific failure people cannot explain.
WHAT TO TEST
Send to an address on the domain from outside, and confirm it arrives at the external provider.
Send from your website's contact form and confirm the same.
That second test is the one people skip.