ERROR: row is too big: size XXX, maximum size 8160 - related to pg_policies table
You are probably running a PostgreSQL version older than v12, because pg_policy has a TOAST table since v12, so that oversized attributes can be stored out of line.
Before that, you were limited to policies where the pg_policy row fits into a single table block. Your policy text is less than that, but PostgreSQL stored the parsed query tree, which can be larger than the text.
Upgrade to a later PostgreSQL release or use several PERMISSIVE policies, which will be connected with OR.