The function getUnregisteredArticles will look after all articles that does not have a setting ‘crossref::registeredDoi’ i.e. all not successfully deposited and active article DOIs. That setting will only be set/inserted into the DB when the DOI is active i.e. when the last registration/deposit was successfully completed and the DOI metadata can be found in the crossref metadata.
EDIT: the function _getObjectsToBeDeposited (https://github.com/pkp/ojs/blob/master/plugins/importexport/crossref/CrossrefInfoSender.inc.php#L125) then filters those unregistered articles (returned from getUnregisteredArticles): it looks after the new status i.e. updates the status and returns only those that are not deposited (s. https://github.com/pkp/ojs/blob/master/plugins/importexport/crossref/CrossrefInfoSender.inc.php#L129-L135) i.e. that have no ‘crossref::status’ setting name.
The setting value for the setting name ‘crossref::status’ in the DB will be ‘found’ for successfully deposited (last deposit attempt) and active article DOIs.
Does this help?