Linking does not expect a full and complete so. That's what it's currently fed, but it's not a requirement. You could just as well have "import libs" in ELF too.
What Zig does is goes way way way out of it's way to compile import libs which contains all of the exported functions but the implementations are empty.
So you aren't wrong. But the point is that the monumentally large Linux ecosystem does not work that way. Which is a real shame.