Fix inconsistent casting to bool
Series logical ops (`|`, `&`, `^`) have a bunch of inconsistencies.  This partially addresses one of them, and does so in a way that makes the diff for the next one much more manageable than it would be without this.
Does this improve my commit, does it supersede it or is it unrelated? @Unprocessable what commit are you referring to? This one: #28251 Unrelated. thanks @jbrockmendel 