Besides the reasons given by dlang, another one is that doing that is only possible if you have the debugging info of the running kernel, which might not always be the case (either for the user or the person receiving a raw oops).
And finally, it may not be strictly necessary and you could ask people to decipher cryptic messages one way or the other, but debugging the kernel should be as easy as possible. If you want to move the symbol resolution to user space to save kernel memory, you better also move all printk strings to user space as well, as that saves a lot of memory as well.