/me cries in legacy Java 8 application.
Those warnings have gone away recently. Make of that what you will.
After those changes were made then we haven't had any major issues with heap spikes. But it depends on a lot of factors, how your data looks, how your queries look and what aggregations that are made so its very hard to give some always applicable advice.
I'm a bit cautious using 8.x, because opensearch forked at 7.x. I don't really have any desire to keep track of any divergences between the two :-/ It's really unfortunate that there's so much bad blood between elastic and aws.
Oddly enough too, due to the way their cloud hosting infrastructure works it seems they double dip into bandwidth pricing that should otherwise be free (eg AWS => AWS). It's also treated less as a "Software" as a service, and more a "platform" as a service, so you are left ultimately with the responsibility of managing, maintaining, and updating your Elastic cluster, without any ability to SSH into the servers its running on.
Then there's the unprofessionalism of laying off your account manager during a client call, or telling your client that you're sorry their ElasticSearch infrastructure is down, but they can't really help you unless you're on their "Sapphire Extreme Plan" [sic]...
Even if OpenSearch is just a cog in Amazon's offering, at least it's of a known quantity.
But definitely go for Postgres FTS for simplicity as long as you can.
They have gotten A LOT better since the 1.x days