Does PostgreSQL rewrite JOINs with OR's into UNIONs?
I'm afraid there is no good solution for you now, other than rewrite into a UNION (or denormalize/refactor the data).

There is a proposal to add automatic conversion of ORs to UNIONs but it needs more testing and reviews to get it into v11 of PostgreSQL, but I have verified that it does work for a case just like yours.