In the standard, the default ignorable code points are defined as those that
should be invisible in rendering if unsupported. However, as a legacy of the
development of the default ignorables (where for a time they also were meant
to be ignored in general processing if unsupported), there are three types
of default ignorable characters that should use a regular missing glyph,
instead of what the definition states. (This came out in a long discussion
on unicore.) These are:

Controls (minus whitespace, which are not in DI)

Surrogate code points

Noncharacter code points

The presence of any of these code points indicates some problem with the
text, and our recommendation should be to display missing glyph if
unsupported, rather than be invisible. (As a matter of fact, the latter two
are always and forever "unsupported".)

So, my proposal is that we remove these from the default ignorable code
point property. That would reduce the possibility of erroneous
implementations, make the property actually hew to its own definition, and
make the situation much clearer to users of the standard. While we generally
want to be conservative about property changes, for this particular
property, I don't see any problems with making such a change, and do see
much benefit.