It appears that we're not handling the otel-collector's default compression properly: OTLP/HTTP requests fail on compressed payloads · Issue #9036 · elastic/apm-server · GitHub
Until that is fixed, you can work around this by adding compression: none in the otlphttp config block.