Yup. That value, $user_info['query_see_board'] becomes part of an SQL query, it later becomes {query_see_board} and forms part of a WHERE later on.
Let's say a user is in groups 2 and 10 (global moderator and a high post count group)
e.g. SELECT ... FROM ... WHERE {query_see_board} which becomes SELECT ... FROM ... WHERE (FIND_IN_SET(2, b.member_groups) != 0 OR FIND_IN_SET(10, b.member_groups))
Except that this occurs before group 3 is added to a user's account, and IIRC you can't actually set group 3 as being a group that can be part of b.member_groups.
There's just no good way to do it without refactoring the entirety of how board details are loaded along with permissions - and that's a monumental (as well as upgrade unfriendly) task.