addPushDeviceToken is basically broken if you call it when you have not yet identified a person. It should assert failure in this case or save the record until the user has been identified. Current behavior is broken.
Just checked. As of 2.7.0 we add all people requests to an unidentifiedQueue if there is no distinct_id present. Once the user is identified, we then append them to the peopleQueue and eventually flush so everything should be working correctly.