Thank you for looking at it and the work!
Another example of propagating a context in our application we are doing is :logger metadata via :logger.get_process_metadata/0 and
:logger.set_process_metadata/1 in task.
That allows to set logger filters based on metadata.
But, now I feel dumb that I didn't notice reverse propagation being used by opentelemetry_ecto, I just occasionally see orphan spans and thought it's still that old known issue with Repo.preload.