The standard says:
1.3.24 [defns.undefined]
undefined behavior>
The last sentence of the note you quoted explains the may in its first sentence:
Many erroneous program constructs do not engender undefined behavior; they are required to be diagnosed.
Thus, may is quite correct.
Anything not defined is undefined, though there are many ways it can be defined (even if it is only slightly constrained).
Also, as notes are not normative, they cannot define behavior.