Another thought - I just remembered that there's a similarly odd behavior when doing a Find through a relationship if the local key field is a Global - the find gives unexpected behaviors, but if the local key field is a Stored or Unstored calc, it works as expected.
There's definitely something odd about using a Global field on one end of a relationship. See Find through global fields giving odd results - #5 by xochi