Right, I think my issue is that it was working fine one day, then not the next, and now semi working. No content had changed within the email, or the headers, from when the emails were working perfectly.
I have done a lot of testing with changing the FROM email address (all addresses are valid email addresses and match the sending domain) and the content of the emails. I also added additional headers (SENDER) and nothing has changed the behavior.
DKIM and SPF records have been added, but shouldn’t be affecting the behavior eitheer.