Correct, effectively with the OR clause in there, it shows any forum the user can read and ignores the policy. Technically it would show you forums you don't have permission to read, but an administrator would have to do some extreme permissions editing to cause that state.
Note this query is from when the forums pages were turned into includes. I could not trace it all the way back to the original forums package when it was created since the xql file seems to have been removed.
So the question is why does the forum disapear from the forums page, unless closing it causes a change in permissions in the background.