What does `#use "topfind"` do and why do I need it?

If you really have to, then fake, nop dependencies are easy to introduce between modules:

 let () = Sys.opaque_identity (fun () -> let module D = Yourdep in ()) ()

Alternatively that seem easy to control via simple include directories.

In fact since that other discussion made me look again into it, that was the model I was using in b0caml: directories with modules therein (and the actual linking business done in a data-driven like manner like omod does).