This is exactly right. LLVM's use of a fully descriptive IR, ability to write that IR out to files and process it via piped commands is nothing new. This has been done in the research environment for a couple of decades, at least.
LLVM is well-designed, no doubt, and its modular nature helps tremendously when putting a project together. But it is not the first modular compiler nor the first to put compiler components into libraries.
LLVM is certainly not perfect. I would change quite a bit of the software engineering, actually. But overall, it is the most useful open source compiler tool set out there.