The field that your new code reads is declared as ShortString. Starting with Delphi 5, the compiler converts ShortStrings to long strings before generating code for most string operations. (At least the way it was with non-Unicode Delphi. Perhaps Unicode Delphi restores some ShortString-related optimizations.)
TRttiField , UTF-8 , , , ShortString-to-string, , , .
. :
handle := PFieldExEntry(field.Handle);
NameP := PAnsiChar(@handle.name);
if (NameP[0] =
continue;
, ShortString, . 256 . , .