I haven't found any other typos or obvious errors, just a few concerns:
A minor nit that I'm only slightly concerned with: The optional arguments to string-unfold and string-unfold-right -- we already don't like optional args unless the justification is sufficient. In this case, the caller could easily just use string-append on the output of string-unfold without those arguments. I suppose it's possible that the MAKE-FINAL feature adds some power that might be less elegant for the user to achieve in some situations.
But of greater concern -- with respect to the optional shared-storage functionality -- it would be helpful if the proposal discussed how this relates to mutable & immutable strings on input and output, as well as any limitations or requirements on the semantics of shared storage. The only user-observable effects of shared-storage as I see it would be that mutations to one string are observed in the other OR that the complete substring of one string is eq? to the other. The first effect - propagated mutations -- is that really desirable here? If all strings were immutable, this would be a non-issue.