A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.
I can see that it works in the message header, but i still get a spf fail because the recieving spf is always exo itself
Do you mean the IP address of the original external sender is not preserved even after you enable the Enhanced Filtering for Connectors? If this is the case, it's recommended to double confirm that all of the trusted IP addresses that are associated with the third-party product that send email into your tenant, including any intermediate hops with public IP addresses have been included. For more information, you can refer to: Configure Enhanced Filtering for Connectors.
You can also consider following the document below and pointing the MX record to the 3rd party service instead and see if the mail flow can work as expected:
Manage mail flow using a third-party cloud service with Exchange Online
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.