Your belief is correct. This is a fundamental problem with the *=designated “access” tags in OSM. They work fine and can be treated as equivalent to *=yes for publicly accessible areas, but for private areas you run into a conflict. Basically *=designated jams an extra piece of information into an access tag and this was a bad idea from the start. More discussion on this conflict here: