Hi Junsong,
I suspect that this simply comes from the fact that ocamldoc started out as a separate project and thus had to develop its own location handling. If there is a clean patch to move to Lexing.position, feel free to propose it. If this requires invasive changes with a larger chance of regressions, it's maybe not worth it.
(Note that there seem to be some uses of Lexing.position already in the file, but only in some cases. I don't know the detail and you may have some "git log" mining to understand them.)