You cannot apply modifiers to a regex object after it has been defined. Rewrite this as qr!yes|no!o. And the answer to your question is that yes the o modifier comes into play with qr// and locks in the regex the first time it is used.
But it does make me question one other point. If I don't use the /o in the qr!yes|no!o, if I loop over a set of values using the qr'd regex, does it recompile it every time?