Den største årsag er, at ObjectID'er er 12 bytes, mens en tilsvarende streng er 24 bytes. Over en stor nok samling, tæller de 12 bytes gemt pr. ID virkelig op! Disse id'er betyder også, at færre bytes overføres over ledningen, når du læser eller skriver dokumentet.
Derudover forventer nogle ODM'er ObjectID'er til eksterne dokumentreferencer og kan blive forvirret af strengversioner af ID'et. Jeg er dog ikke bekendt nok med PHP ODM'er til at sige, om dette kan påvirke dig specifikt.
Med hensyn til API-ting bør du dog sandsynligvis normalisere dataene, før du sender dem til klienten, for da Mongo ikke håndhæver et skema, kan du bogstaveligt talt have enhver form for data i et givet felt, så du kan evt. har nogle dokumenter, der har streng-id'er, og andre, der har BSON-id'er, og din API ville med glæde sende dem begge igennem til klienten, men det ene eller det andet kan forårsage brud. I dette særlige tilfælde skal du bruge BSON ObjectID'er i dine dokumenter og derefter caste dem til strenge i dit API-output.