This is a bit complicated but doable:
I would do as you suggest and pre-aggregate in BigQuery using STRING_AGG.
Then you can follow the steps that I outlined in my answer the question "Using Array Field for Filtering Rows", or use the community plugin suggested in another answer.