I think this qual pushdown is dangerous, because it is applied before the join and so includes invalid cases.
Well, it's better than any alternative that is more expensive even when the data in question isn't prone to parsing problems. We optimize for the common case of consistent normalized data. You have tools if you need to operate with bad data.