I have a few fields that I am adding to a list that will be automatically populated and use for tagging against a document for search crawling, e.g. Document Owner. When I set them to be hidden in the document library, save the template and create from the template all the fields get re-set to optional again. Has anybody else seen this issue? I can't seem to find anything about it.
I have not tried it this way but I know if you create a content type and set any fields to hidden they do not appear at all in the library the content type is added to.
Try creating a content type with the fields set to optional, apply it to you library and then set the fields in the content type to hidden.
They should now be hidden in your library. If you now save your library as a template and create another from it - it should refer back to the content type and so respect the hidden settings.