### Elasticsearch Version

8.11+

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

any

### Problem Description

While indexing documents with dynamically added fields, if multiple of those fields are objects are are deeper than 3-5 objects, performance is degraded significantly.

This bug was introduced in: https://github.com/elastic/elasticsearch/pull/90674

### Steps to Reproduce

I built a micro-benchmark to replicate this particular bug. 

But, any dynamic object parsing will cause this.

To mitigate the issue, statically mapped fields for objects is required. 

### Logs (if relevant)

Attached are two JFR files indicating the difference between when the bug was introduce vs. not.
[Archive 2.zip](https://github.com/elastic/elasticsearch/files/13569248/Archive.2.zip)

server/src/main/java/org/elasticsearch/index/mapper/DocumentParserContext.java
}
        private State state = State.FIELD;
        private final String field;
        CopyToParser(String fieldName, XContentParser in) {
            super(in);
            this.field = fieldName;
            assert in.currentToken().isValue() || in.currentToken() == Token.VALUE_NULL;
        }
        @Override
        public Token nextToken() throws IOException {
            if (state == State.FIELD) {
                state = State.VALUE;
                return delegate().currentToken();
            }
            return Token.END_OBJECT;
        }
        @Override
        public Token currentToken() {
            if (state == State.FIELD) {
                return Token.FIELD_NAME;
            }
            return delegate().currentToken();
        }
        @Override
        public String currentName() throws IOException {
            return field;
        }
    }
}