Otelcol documentation specifies that:
Receivers collect telemetry from one or more sources. They can be pull or push based, and may support one or more data sources. (source)
However, I am struggling to find any examples of an OTLP pull-based receiver. Is the prometheus scrape-based receiver the only option if one strictly needs a pull-based setup?
Based on your clarified comments that this is purely about gathering custom and/or runtime application metrics from applications, pull-based is a prometheus approach not an OpenTelemetry one.
Thw OpenTelemetry collector does have a prometheus scraper, however, for OpenTelemetry native approach the recommendation is to use push based so the application controls this.