Very good question.
I think the reason this works is that the NULL in the CREATE TABLE is an attribute of the column (since NULL is actually just a flag assigned to a column and not actually dependant upon data type). As such, the NULL attribute of the TYPE is a default, rather than a strictly enforced requirement, so adding NULL to the column definition overrides that default.
http://www.techtalkz.com/microsoft-sql-server/162468-weird-behaviour-user-defined-type-not-null.html shows the same thing happening, except in this case the NULL attribute is enforced by adding a column to a table after the fact without specifying a default value.
That behavior is documented fairly well, but in this behavior could definitely be documented better.