Най-голямата причина е, че ObjectID са 12 байта, докато еквивалентен низ е 24 байта. При достатъчно голяма колекция тези 12 байта, запазени на идентификатор, наистина се събират! Тези идентификатори също означават по-малко байтове, прехвърлени по кабела при четене или писане на документа.
Освен това някои ODM очакват ObjectID за препратки към външни документи и могат да бъдат объркани от низовите версии на идентификатора. Не съм достатъчно запознат с PHP ODM, за да кажа дали това може да ви засегне конкретно.
Що се отнася до нещата с API обаче, вероятно трябва да правите нормализиране на данните, преди да ги изпратите на клиента, тъй като тъй като Mongo не налага схема, можете да имате буквално всякакви данни в дадено поле, така че може да имат някои документи, които имат низови идентификатори, а други, които имат BSON идентификатори, и вашият API с радост ще ги изпрати и двата до клиента, но единият или другият може да причини счупване. В този конкретен случай трябва да използвате BSON ObjectID във вашите документи и след това да ги прехвърляте към низове във вашия API изход.