It isn't just that they're invisible as
nodraw brushes are themselves invisible yet they
do affect visibility (the division of the bsp tree). Likewise
hint brushes are not drawn, but they explicitly affect visibility.
For the most part the "collision mesh" can be thought of as a separate concept mostly divorced from aspects of visibility. For instance, a regular brush will affect visibility and collision, a
nodrawed brush will affect visibility but not collision, a
playerclipped brush will not affect visibility but will affect collision, etc. Whether something blocks entities physically or not has little to do with how the level is rendered.
Btw. From the wiki for func_wall:
Obsolete entity from Half-Life provided for backwards compatibility. Has been replaced by the func_detail entity and the func_brush entity with its Solidity property set to Always Solid.
Also, a distinction here.
playerclip is just a texture. You assign it to normal world brushes without creating an entity. Something like a
func_ or
trigger_ brush are brushes which are explicitly made into entities, and anything you make into an entity stops becoming part of the "world" and thus stops affecting the way the world is cut up (visibility). This is because entities cannot be assumed to be static, as through their own volition or in so far as they can be parented to other entities they have the potential for movement or being enabled/disabled.
This page contains a quite lengthy and invaluable discussion of the concepts of visibility in source mapping and the tools at your disposal to affect and optimize the final rendered level.