NV,
I have exactly the same problem you had, I cannot get more than 250 TPS using HTTP sampler on Elasticsearch .
I noticed that changes in num_sample_threshold parameters affect the limit.
I have 80 TPS limit at num_sample_threshold=80 , 250 TPS at num_sample_threshold=250,
Unfortunately, above num_sample_threshold=250, performance becomes unstable and spiky.
Did you figure out what was the reason for the throughput limit in your case?
Thanks
Igor