https://etbe.coker.com.au/2015/10/17/mail-server-training/
It looks like you have missed out a SASL authentication mechanism. I recommend using Dovecot as it's MUCH easier than getting Postfix to use MySQL directly. But following the above blog post is the easiest thing to do. I read my own blog posts when I have to do these things. ;)
It looks like that all along I had not set up 587 on the VM. Thank you for helping me circle back to the obvious!
The only thing left to do is set up vacation emails - any suggestions? Preferably with a way for users to manage them themselves (bearing in mind the Dovecot / SASL / MySQL thingo)