Overloaded stringification can return a different string every time it's called, so you're trying to find the storage format of a string that doesn't even exist yet. When you stringify the object, the UTF8 flag of the reference is updated to reflect the UTF8 of the stringified object.
"".$t
would also work where you used say $t;
.