Reconstructing row from record
Thanks to @ypercubeᵀᴹ , one can go about it by first creating intermediary type with all the required columns (from both tables, since it's join) such as:

CREATE TYPE suppliers_products AS (s_guid VARCHAR(64), supplierId, ...)


The following query can be then written such as:

SELECT (unnest(r.agg)).*
  FROM (
     SELECT array_agg(x :: suppliers_products) AS agg
     FROM (
            SELECT *
            FROM northwind.u_suppliers S LEFT JOIN northwind.u_products p ON S.guid = p.supplier
          ) x
     GROUP BY x.supplier
   ) r
  LIMIT 1;


If there was no anonymous record (coming from join), we would not need intermediate type.

As far as I'm aware there is no way to do it without manually preparing such type upfront.