Why does core uses the lib directory instead of the src one, for its classes?
The following document explains the differences between PSR-4 and PSR-0, and the reason why PSR-4 was suggested.

It also explains that PSR-4 complies with the PSR-0.

Basically, when working with packages (modules) PSR-4 is preferable.
But the base package can still use PSR-0 and be readable.