Hi @timeless ,
we did this before in a kind of prototyping. We just intercepted (in the serviceworker) the postcall and in case of no network we stored the values locally somewhere (i think, we used indexdb with an additional helperlibrary, not sure).
When the network was back, we just posted the content again. Thsi worked for logged in and anonymous users.
I haven't tested the pwa features yet but as there are now apis available i would store the values of the fields (can be relatively easily gathered from the form) and then passing them over to the api in case the network ist back.
But as i said: this is just the idea, haven't tried it but in former versions it worked already for us (unfortunately i am not allowed to share the code, may be i or somebody else shod write a little bit about it 🙂 )
Hope this helps (even if it is not the solution already),
Christian