These restrictions go against the design principle of "Define success, not failure". If some extension or experiment wants to put a property somewhere other than where it is currently expected, then we shouldn't forbid them from doing that.
Clients SHOULD ignore properties that they don't understand, but the MUST NOT would make it an error on the publisher's side.