### Description

This is a followup to #85926.

As part of the ingest processing pipeline, we call `CollectionUtils.ensureNoSelfReferences(...)` to ensure that a script processor didn't accidentally introduce a circular object. However, this check is only necessary if we know there was the potential for a circular option, which can only happen with either a custom processor (a plugin where we have no control), or a script processor. We should be able to only call this sanity check if we know we need it, rather than for every document.
server/src/main/java/org/elasticsearch/ingest/IngestService.java
"Failed to generate the source document for ingest pipeline [" + pipeline.getId() + "]",
                            ex
                        )
                    );
                    return;
                }
                if (metadataMap.get(IngestDocument.Metadata.DYNAMIC_TEMPLATES) != null) {
                    Map<String, String> mergedDynamicTemplates = new HashMap<>(indexRequest.getDynamicTemplates());
                    @SuppressWarnings("unchecked")
                    Map<String, String> map = (Map<String, String>) metadataMap.get(IngestDocument.Metadata.DYNAMIC_TEMPLATES);
                    mergedDynamicTemplates.putAll(map);
                    indexRequest.setDynamicTemplates(mergedDynamicTemplates);
                }
                postIngest(ingestDocument, indexRequest);
                handler.accept(null);
            }
        });
    }
    private void postIngest(IngestDocument ingestDocument, IndexRequest indexRequest) {
        
        Object rawTimestamp = ingestDocument.getSourceAndMetadata().get(TimestampField.FIXED_TIMESTAMP_FIELD);
        if (rawTimestamp != null && indexRequest.getRawTimestamp() == null) {
            indexRequest.setRawTimestamp(rawTimestamp);
        }
    }
    @Override
    public void applyClusterState(final ClusterChangedEvent event) {
        state = event.state();
        if (state.blocks().hasGlobalBlock(GatewayService.STATE_NOT_RECOVERED_BLOCK)) {
            return;