So I have frequently worked in projects where I don't know how end users interact with the software. I can make code hum without knowing how it fits into the ecosystem. Sometimes that's all the job is because that's the structure.
That said, I can contribute a lot more if I do understand the bigger picture. Domain knowledge helps me triage. It helps me propose effective alternatives. I'd say it is critical for understanding separation of concerns and deciding what compromises to recommended practices are reasonable.
I reject this principle. You can write code without domain knowledge, but software by itself has no purpose until it meets users. And to write software that works best for users you have to understand them.