Streamlang has a limitation that it can't really work with arrays of values properly. Some operations work (e.g. appending to an array or renaming a field), but it's not possible to access the first value out of an array of values for example. This is something we are working on improving on, but right now the only workaround for classic streams is it to use a manual ingest pipeline processing step which is more flexible since it allows to use painless and all the ingest pipeline processors.
cc @mdbirnstiehl @LucaWintergerst