There is some lock-in with Google Datastore, but not with App Engine, at least with the new "standard environment" based on gVisor. I run perfectly standard Go or Python HTTP services.
The thing with Appengine is that even if you run the standard env(which is more expensive and has some limitations) you are highly likely to use Datastore and other proprietary services that are tightly integrated in the appengine environment. The whole thing feels like a bait to lock-in, just like the initial pricing which went off-rails.
And using the proprietary App Engine API is not recommended anymore: “We strongly recommend using the Google Cloud client library or third party libraries instead of the App Engine-specific APIs.” (source: https://cloud.google.com/appengine/docs/standard/go111/go-di...)
You can use App Engine with a standard MySQL or PostgreSQL database and S3-compatible object storage.
Like you, I used to avoid App Engine because of lock-in, but they radically improved things with gVisor.
Yet, I agree about the price, especially with the Flex Environment compared to standard Compute Engine :-(