Unfortunately you can do everything right, and the reputation (or lack thereof) of your IP address will result in your emails being considered as junk, even if they’re all legitimate. This is a particular problem of low-volume senders, or people hosting with providers who are known to be ‘spammy’ (Linode, AWS, Digital Ocean etc).
Nowadays unfortunately it takes a long time to establish ‘reputation’ for your IP address as a known good sender. I’m having similar issues with a new IP address for a new server for a client despite them having been active business email users from the same IP address for almost a decade. Microsoft in particular have a terrible set of algorithms which take an incredibly strict approach to what it auto-classifies as spam or legitimate, and it’s almost impossible to get them to ‘mitigate’.
Usually however, GMail is usually much better - provided you have things like PTR records set up for your IP address, you have SPF alignment, your DMARC and your DKIM is set up correctly, you are using TLS to send emails and so on.
If you’re OK with it, post the headers as received from the GMail copy of the received message and it may indicate a reason for the message(s) being flagged as spam.
Of course, what you should be doing is marking as Not Junk in the meantime to help train the filters. But there’s no magic bullet.
Certainly out of the box, Webmin’s implementation of Postfix and Dovecot is pretty good, there are a handful of things to tweak but for the most part it’s a good base setup. Fundamentally it comes down to how long you’ve been seen by other mail services as sending reputable emails to their servers. Arguably going down the road of anticompetitive practice, but all the larger operators are only getting harsher about what they consider legitimate traffic into their systems.
There’s various free web services out there to test the ‘quality’ of both your mail server setup and the content of your emails, I can recommend a few for starters if you’re interested.
It’s always going to be a struggle nowadays! Your own host plays an important part. If your IP was previously used for nefarious means, or you’re a small fish in a big pond of less than scrupulous operators, you will suffer collateral damage from their bad actions from IPs in the range your server sits in.
Read about email deliverability best practices and IP reputation, and get depressed…! 