Update & Solution:
The issue in my case was that field names were being set to camel case instead of pascal format. This was remedied by keeping my property names untouched using 'DefaultFieldNameInferrer' in the 'ElasticsearchClientSettings'.
new ElasticsearchClientSettings(uri)
.DefaultFieldNameInferrer(fieldName => fieldName);
This will take your property names and return the same string unmodified.