While testing the DOI provider I noted that the command line tool doi-organiser does not handle things consistently. There are differences between calling a function for all items and calling it for a single item.
-r --register-all vs --register-doi [ItemID]
-s --reserve-all vs --reserve-doi [ItemID]
-u --update-all vs --update-doi [ItemID]
The options working an all items inspect the doi table and only work on items with an entry in the doi table.
The options for a single item use the method findTableRow https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java#L802, which in contrast to the documentation (@return The TableRow or null if the Object does not have a DOI.) actually mints a doi and creates a table row.
With this it is actually possible to create a doi for an item which is not in_archive e.g. an unfinished submission.