After some discussion on #p5p, the conclusion seems:
The feature was a mess. It seems to work as intended on perl 5.13.8 and newer. In older version, the optimizer incorrectly rejected some matches
the intended behavior is that a missing no-pattern is the same as an empty no-pattern, ie the whole match succeeds if the condition fails and the no-pattern is missing. Thus both regexes should succeed.