An exploit is 'a bug or unintended feature of gameplay that is deliberately and knowingly used by the player to gain an advantage'
The use of func_nobuild is used when the authority (for example the mapmaker, those that pick the rules for a tf2 competitive battle or those that has the license for the actual game) believe that certain places on the map are not suitable to build buildings on; making them unintended features for the authority. Using func_nobuild is not a requirement unless told otherwise by the authority. Being able to build in spawn is not an exploit if the authority makes it an intended feature.
the common group of TF2's mapmakers (and Valve included) have pretty much decided, but without an official requirement, that the spawn room itself should never be intended for players to build in (with exceptions, because different authorities believes in different intentions). But the room outside the actual spawn room, but not beyond the gates have proven to be a very diverse choice if players can build or not. A lot of maps got space where it's possible to build for the attacking team, even Valve got a few maps that has that.
Saying that this IS an exploit is wrong, because the ability to build inside the spawn is entirely dependable on the conditions given by the authority.