I was wrong and should have checked the code. All other go.* functions will generate a Lua error if you try to interact with a game object from a different collection, but go.exists() will simply return false.
This is not documented anywhere and the least we could do is to add a note in the docs. The alternative is to throw a Lua error. OR actually allow the function to check in another collection.