Do you still have doxygen warnings for undocumented members/classes, if you enable these options?
No, it's indeed an advantage that they remind you about forgotten documentations. However, I don't document everything (at least not with ///), so these warnings would annoy me most of the time, while I rarely forget to actually document classes.
My point is that these classes are private and should not appear if "extract private" is disabled.
Yes, that behavior is inconsistent. But it is still one of the smallest bugs and inconsistences in Doxygen. Some months ago, I had a look at the Doxygen source code, fixed some things I found important* and submitted the patches to the developer. Believe me, the code is a real mess, we can be glad Doxygen does its work yet relatively well
But you could write a bug report, maybe somebody knows how to hide private types. I think it wouldn't be difficult once the corresponding code is found, but
until you find it...
_________________
* I fixed mainly two bugs: Related global functions (@relates command) are listed as member functions in the group overview, e.g. MyClass::Func instead of Func, and they are marked as "inherited" in the detailed description. Since I use a lot of global functions in my library and didn't have the patience to wait for someone else to take care of the bugs, I decided to experiment a little myself... But it took quite a while.