Fill populate arrays from other table
The following aggregates the products as you want it:

select c.sku, array_agg(p.ordering_id) as ids
from collections c
  join products p on c.sku = any(p.inside)
group by c.sku;


The above returns:

sku | ids        
----+------------
10A | {1234,5678}
20A | {5678}     


Now this can be used as the source of an update statement:

update collections 
   set components = t.ids
from (
    select c.sku, array_agg(p.ordering_id) as ids
    from collections c
      join products p on c.sku = any(p.inside)
    group by c.sku
) t
where collections.sku = t.sku;