### Elasticsearch Version

8.8.1

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

ESS

### Problem Description

The `reroute` processor allows to specific Mustache like syntax for field references. In contrast to other processors (.e.g `set` or `rename`) the variable does not allow to include spaces between the field name and the curly brackets.

This doesn't work:
```
"dataset": "{{ _reroute.dataset }}"
```
while this does:
```
"dataset": "{{_reroute.dataset}}"
```


### Steps to Reproduce

```
PUT _ingest/pipeline/reroute_example
{
  "processors": [
    {
      "reroute": {
        "tag": "example",
        "dataset": "{{ _reroute.dataset }}"
      }
    }
  ]
}

POST logs-test.original-default/_doc?pipeline=reroute_example
{
  "_reroute": {
    "dataset": "test.reroute"
  },
  "@timestamp": "2023-06-20"
}
```

Notice how the target Data Stream is `logs-test.original-default` instead of `logs-test.reroute-default`

### Logs (if relevant)

_No response_
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/RerouteProcessorTests.java
assertDataSetFields(ingestDocument, "logs", "generic", "default");
    }
    public void testFallbackToValuesFrom_index() throws Exception {
        IngestDocument ingestDocument = createIngestDocument("logs-generic-default");
        ingestDocument.setFieldValue("data_stream.dataset", "foo");
        ingestDocument.setFieldValue("data_stream.namespace", "bar");
        RerouteProcessor processor = createRerouteProcessor(List.of("{{foo}}"), List.of("{{bar}}"));
        processor.execute(ingestDocument);
        assertDataSetFields(ingestDocument, "logs", "generic", "default");
    }
    public void testInvalidDataStreamName() throws Exception {
        {
            IngestDocument ingestDocument = createIngestDocument("foo");
            RerouteProcessor processor = createRerouteProcessor(List.of(), List.of());
            IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> processor.execute(ingestDocument));
            assertThat(e.getMessage(), equalTo("invalid data stream name: [foo]; must follow naming scheme <type>-<dataset>-<namespace>"));
        }
        {
            
            IngestDocument ingestDocument = createIngestDocument("foo");
            RerouteProcessor processor = createRerouteProcessor("bar");
            processor.execute(ingestDocument);
            assertThat(ingestDocument.getFieldValue("_index", String.class), equalTo("bar"));
        }
    }
    public void testRouteOnNonStringFieldFails() {
        IngestDocument ingestDocument = createIngestDocument("logs-generic-default");
        ingestDocument.setFieldValue("numeric_field", 42);
        RerouteProcessor processor = createRerouteProcessor(List.of("{{numeric_field}}"), List.of());
        IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> processor.execute(ingestDocument));