Tim,
Sorry, it's taking me so long to get back to you. I've been diving into a bunch of different things so I've learned a few things here.
As far as using Cloud PostgreSQL, that is true, however, it cannot be "ESRI Enabled" with the st_geometry, so it's not an ESRI GDB and thus cannot be used for branch versioning like the way I am intending. I've heard "Yet" from several of the ESRI developers so it sounds like it's coming soon or at least will be available to some extent with the Kubernetes deployments of the future. I presume it will be available with Cloud SQL here at some point though.
After talking to a very smart guy at ESRI, I got the idea to just install PostgreSQL on a VM in Google Compute engine, so have now done that, and have it working well, with my ArcGIS Enterprise deployment.
Branch Versioning is working great and seems to be fast and a great editing experience. A direct connection to the eGDB however is a little slow for obvious reasons, although if I access it on the VM it's normal, but outside the cloud, it's pretty slow, but most of that is to be expected, and why editing though Feature Services is what I'm going for in this POC, including Branch Versioning.
To answer your other question there, I just used the console to build one VM, so have not used Terraform at all. If and when I do, I'll probably stick with windows boxes, and used PowerShell DSC or the upcoming Kubernetes deployment options.