Logical flaw in `BKE_scene_objects_iterator_begin()` code (two errors actually, wrong handling of first object of Master collection, and missing call to `object_base_unique()` to 'register' that first object and avoid getting it returned a second time). Simply fixed by always calling `BKE_scene_objects_iterator_next()` after minimal proper init, that one knows how to do the things. ;)