range_intersect_agg is documented to return anymultirange (on this page[1]), but it actually returns a range.
In addition, range_intersect_agg also accepts a multirange as its parameter, but that's not documented on the same page. Note that range_agg does *not* accept a multirange (possibly already added for PG15, see this[2]).