It is not that strange, since the information exists only in one place, whereas instances can exist in multiple places.
And RTTI
does let you manipulate fields...One example of that is using custom attributes.
See the last example in the wiki here:
https://wiki.freepascal.org/Custom_Attributes#Complete_example.
It looks like the attribute code never gets called....

But it is... (I wrote it, that example)
Ergo, the content of the fields are not immutable.
One remark:
Besides this new feature in trunk, custom attributes, we also have a Monitor, like Delphi has, and that can be trivially used to protect the RTTI information, in some ways better than a TMultiReadExclusiveWriteSynchronizer.(Which you can also use, of course)
To my knowledge, the Monitor feature - not related to screens - was after the custom attributes feature, hence I did not use that. I don't even know it is complete, but support is added to TObject.