After going through every step I could find in various tutorials, I still couldn't get this working. Despite the SPF receiving a, 'pass' from Google, basic e-mails from Wordpress (i.e. website registration) were still being marked as spam.
To solve this problem, I decided to basically give up on running my own MTP (mail transfer protocol), and register for Mandrill - a web app run by the MailChimp dudes. They provide a wordpress plugin which pushes all e-mail through Mandrill/SMTP.
Since making the switch, all my messages are appropriately going to the inbox.
Not the best solution for sure. I like to try and keep my services local. That said, it solved the problem for me, and I can move on to other issues.
Hope this helps someone else!