This will force to build to update shared code in some modules which is not so nice in dev since code is not always compilable.
Idea actually dereferences symlinks to some extent. I had to create symlinks in non root to project folder to make idea think it is different sources. Also sometimes ide prefers data from *.class files and you have to rebuild.
Either way this all are IDE problems, with gradle build made as dependencies for java part and srcDirs+= for js part everything works ok, no symlinks or source copy required.
I was told reason of all this glitches is IDEA in its core architecture does not support single source to be included in multiple modules/projects. Guess objectiveC/C/C++ and multiple other languages supported by jetbrains IDEs use another one.