Alternatively, I could set up a VPC in AWS with an EC2 instance that can talk to my homelab db instance, and then just write an HTTP interface when I need the Heroku app to get data from my homelab postgres instance, but this seems a little convoluted.
As for VPC peering, that is going to be less likely. You'd have to at least be using Heroku's private spaces and even then I'm not sure it's a turnkey integration. You essentially would need a static/public connection for Heroku to be able to connect.