I've included the test which will fail.
After digging around a little, I found out that by calling saveIncrementalForExternalSigning, it trimmed the reserved space in the ByteRange (I've included the difference in the screen shot).
I'm not sure if this is a bug for anyone but it's for my use case (distributed digital signing). Changing the content at all is not permitted at all.
If this is an intended feature, please dismiss this. I can workaround by calling it more than once and it'll be stable although I'm not sure about efficiency.