Anyway, so no document exist.
Well, in such low level cases the sourcecode itself and the comments in the sourcecode are the documentation.
These are usually considered implementation specifics of a higher level functional requirement specification.
Also note that because of that such low-level formats are subject to change w/o warning so is highly specific to an FPC version.
So what you gain in performance may lead to extremely difficult to maintain code.
The recommended way is through RTTI which is documented, but also highly subject to change atm.
The format can be deduced from the RTTI related code.
I usually do what you do: when speed is a requirement I write my own streaming for my own specific classes. Usually separating just state and content/payload.