Your mails are not marked as spam because of the headers.
Your mails are marked as spam because microsoft engineers are stupid and their spam rules are sky high and usually mark legit mails as spam even if they are not.
All mail server admins have the same problem as you do. If you google it you'll find hundreds of people complaining about this on microsoft communities forum.
What you can do about it is:
1°) check that the mail you send is perfect at all regards using the website https://www.mail-tester.com/ (you must get a 10/10 note).
2°) use https://glockapps.com/ to get an advanced report on your mail delivrability (i'm not affiliated by any kind to this company, i just find that the free reports they give are very accurate and give good help).
If you want a quick way to solve the problem, you need to setup iredmail/postfix to use a hotmail proxy account to send mail to hotmail domains. But that kinda beats the whole purpose of having your own mail server for privacy so it's not perfect
Another solution is to ask people receiving your mail as spam to unmark them as spam and eventually after enough time and mails have passed it should not be marked as spam anymore, but it could take a very long time which make this solution not very good either.
Best solution (imo): ask people using hotmail to stop using this evil mail system and tell them to move to gmail instead There is an easy migration tool by google designed especially for this so it's easy to do even for people who are not familiar with IT. And they can after that forward all their hotmail account mail to their gmail addresses so they dont have to change their old hotmail mail address everywhere they used it before.