I think that's true for everyone. I've found that working my way into an existing codebase involves multiple passes, and each time I get a bit more immersed in the code and my assumptions change. It's also good to write documentation in parallel, as you can capture and address all the things that were initially confusing.
(Also, hi Eric!)