Use more than 32GB for heap

First, see https://www.elastic.co/guide/en/elasticsearch/reference/7.4/heap-size.html

The reason for preferring compressed oops is the ability to use 32bit pointers, which at some point due to running out of address space require use of 64 pit pointers, which then means you need more address space for these to use, so that this address space cannot be used for your java application.

unless there is a reason to go beyond 30gb (or the compressed oops amount), I would start to monitor my systems (using stack monitoring and the nodes stats/info APIs) to find out, how much heap you really need on a day to day base - depending on your use-case, the amount of data per node, this might be much less and you are fine with smaller heaps, allowing more memory for the file system cache.