While true, that doesn't mean binaries and source need to be mixed.
I think out of tree builds would be a good thing for both FPC and lazarus long term, but it is not easy to change the existing complex systems.
I think one of the problems is that C invokes the compiler for every file, so passes a destination dir for each file, allowing the makefiles to build a hierarchy by doing something like $CC ../src/dir/from -odir/from for every file.
While FPC compiles heaps of units in one run, you can set only one output dir, and all files end up there.