Hi Rus,
What you are seeing is expected behavior and is related to the difference between event time and ingest time.
By default, OpenSearch sets the @timestamp field to the ingest time, meaning the moment the document is received and indexed by OpenSearch. When ingestion is delayed due to issues such as high disk watermark, queue backlogs, or resource pressure, the documents are indexed later, and @timestamp reflects that later time.
The original event time is not lost. As you noticed, the JSON alert still contains the correct timestamp from the log itself. However, unless an ingest pipeline explicitly parses that field and assigns it to @timestamp, OpenSearch will continue using ingest time.
The timestamp shown at the top of the alert (and in OpenSearch visualizations) is therefore not the alert creation time, but the indexing time. Disk or queue issues only increase the delay; they do not change how @timestamp is assigned.
https://docs.opensearch.org/latest/ingest-pipelines/processors/date/