I believe this is how it works.
Information`AddRegistry[MyObject, getMyObjectInformation];
getMyObjectInformation[MyObject[ass_?MyObjectQ]] := <|
(* this first key is mandatory *)
"ObjectType" -> "MyObject",
(* next just include the whole inner association *)
ass,
(* now define any computed properties using RuleDelayed *)
"Length" :> Length[ass["List"]]
|>
And now it works as expected:
