### Description

A query like `any where true | head 2147483648` fails with `class java.lang.Long cannot be cast to class java.lang.Integer (java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap')`.

While one like `any where true | head 2147483640 + 8` fails with `"type": "arithmetic_exception", "reason": "integer overflow"`.
x-pack/plugin/eql/src/test/java/org/elasticsearch/xpack/eql/planner/QueryTranslatorFailTests.java
VerificationException e = expectThrows(
            VerificationException.class,
            () -> plan("process where startsWith(plain_text, \"foo\") == true")
        );
        String msg = e.getMessage();
        assertEquals("""
            Found 1 problem
            line 1:15: [startsWith(plain_text, "foo")] cannot operate on first argument field of data type [text]: \
            No keyword/multi-field defined exact matches for [plain_text]; define one or use MATCH/QUERY instead""", msg);
    }
    public void testStringContainsWrongParams() {
        assertEquals(
            "1:16: error building [stringcontains]: expects exactly two arguments",
            errorParsing("process where stringContains()")
        );
        assertEquals(
            "1:16: error building [stringcontains]: expects exactly two arguments",
            errorParsing("process where stringContains(process_name)")
        );
        assertEquals(
            "1:15: second argument of [stringContains(process_name, 1)] must be [string], found value [1] type [integer]",
            error("process where stringContains(process_name, 1)")
        );
    }
    public void testLikeWithNumericField() {
        VerificationException e = expectThrows(VerificationException.class, () -> plan("process where pid like \"*.exe\""));
        String msg = e.getMessage();
        assertEquals("""
            Found 1 problem
            line 1:15: argument of [pid like "*.exe"] must be [string], found value [pid] type [long]""", msg);