Seen in several production clusters running 8.3 (thanks to the changes in #87881) but this also explains #86059 in earlier versions:

    [instance-0000000011] negative value in circuit breaker: [eql_sequence,limit=8589934592/8gb,estimated=-7961288

My guess is that somehow this circuit breaker is releasing bytes it didn't already hold. Seems pretty rare, and not covered by tests since it would trip assertions there.
x-pack/plugin/eql/src/test/java/org/elasticsearch/xpack/eql/execution/sequence/CircuitBreakerTests.java
FailureESMockClient(CircuitBreaker circuitBreaker, int expectedSearchRequestsCount) {
            super(circuitBreaker, expectedSearchRequestsCount);
        }
        @SuppressWarnings("unchecked")
        @Override
        <Response extends ActionResponse> void handleSearchRequest(ActionListener<Response> listener, SearchRequest searchRequest) {
            
            if (searchRequestsRemainingCount() == 1) {
                assertEquals(0, circuitBreaker.getUsed());
                int ordinal = searchRequest.source().terminateAfter();
                SearchHit searchHit = new SearchHit(ordinal, String.valueOf(ordinal), null, null);
                searchHit.sortValues(
                    new SearchSortValues(new Long[] { (long) ordinal, 1L }, new DocValueFormat[] { DocValueFormat.RAW, DocValueFormat.RAW })
                );
                SearchHits searchHits = new SearchHits(new SearchHit[] { searchHit }, new TotalHits(1, Relation.EQUAL_TO), 0.0f);
                SearchResponseSections internal = new SearchResponseSections(searchHits, null, null, false, false, null, 0);
                SearchResponse response = new SearchResponse(
                    internal,
                    null,
                    2,
                    0,
                    0,
                    0,
                    ShardSearchFailure.EMPTY_ARRAY,
                    SearchResponse.Clusters.EMPTY,