Unrecognized configuration parameter when using set_config(text, text, boolean) in CTE
We've ended up using the JOINs over CTEs, which implicitly applies the expected order, and queries looking like:
WITH
      acl AS (SELECT set_config('scope.acl', 'VALUE', TRUE) &quot;__acl&quot;),
      result AS (${query})
    SELECT * FROM bypass FULL OUTER JOIN result ON 1 = 1

In which case, acl CTE runs before the result and ensures that RLS could pick up a correct configuration.
Whilst it might very well be sub-optimal for a larger scale table, it worked perfectly for our scale (10k-100k rows) with no noticeable performance degradation compared to using CTEs without the resulting FULL OUTER JOIN. More importantly, our correctness tests haven't highlighted any deviations from the expected order, despite this behavior (of result running after acl in CTEs block) is implicit.