Is that universally true on all sites that allow a user to create a sub-domain?
DNS allows any character you want, including underscores. Host names in URLs cannot contain underscores. Therefore any service that create subdomains for user would reject underscores, which is why they're considered de-facto reserved for special uses in DNS. I don't think the reserved nature is codified in any RFC.
It certainly should be. Filtering user-registrable names that will end up in host names or URL paths is table stakes. You want to block names like www, admin, root, robots.txt, .well-known, _*, and so forth.