Personally I think bloom filters are outdated and we should just remove them at some point; relying on consensus nodes to do querying is too inefficient for dapps to have acceptably-good UIs, and so we’re going to have to rely on L2 protocols at some point. And those L2 protocols are going to be powerful enough to do queries not just over topics; they could easily, for example, treat the first N bytes of log data as “virtual topics” and index those too, so contracts can avoid paying gas for topics.
That would imply a more comprehensive reform of what post-transaction-execution information we commit to, and that could be done at the same time as when we do proofs of custody for execution. At that point… I suppose potentially more abstracted proof verification precompiles could be added! But if we want something for the here-and-now, a proof for either a full receipt, or the i’th log in a receipt, is probably good enough.