I suggest upgrading to 7.9.3 to get the benefits of https://github.com/elastic/elasticsearch/pull/58674, which should help avoid the CircuitBreakingExceptions you mentioned in your OP. I don't think any other tuning is generally recommended.
The graph of heap usage over time with G1GC typically looks quite different from the ones with CMS, but that in itself isn't anything to worry about.
Rather than adjusting jvm.options directly you should drop any changes into separate files in the jvm.options.d directory.