I found the answer, and it was really simple when I realized what was going on but not quite so obvious before then.
What was needed was to add a CREATE TYPE
command to an item creation script in the database project so that the CLR UDT becomes known as such to SQL Server. Visual Studio does this automatically on assembly deployment, but apparently does not consider it during database project model validation.
With CREATE TYPE
in place, everything seems to be working as expected, and no error ignores are needed.