I'm not sure how the import mechanism works (in particular when it triggers a copy) - but I suspect possibly only when you create the project? For instance, if you use planAhead to Save Project As, and select to import all sources, you'll end up with many items in the imports folder.
So for consistency, since you are using a reference into the EDK for the remainder of the system files, your project should be referencing the system_stub.v (which as you say is updated correctly). I cannot explain why it has been set up like this, and I think there is room for improvement (you may have seen my related gripes ).
I think there are two ways to deal with it - one is the above, remove the file in imports, and refer to the original in the EDK folder. This way you get the changes. I think this approach works until you want to create a second project and not have to re-fork or use a git branch per project (that way lies madness!). The issue of course is that you simply can't have different projects needing different PS configs pointing to the same PS files.
My favored option (which I've been using for several personal projects) is to to move all the system stuff (including system_stub.v) into the project sources folder. Each project refers to its own copy, and the project can be cloned using planAhead to nicely handle divergent ideas / explorations. Because there is no way for multiple Processing System setups to interfere with each other - but you can still share cores (you couldn't if use used fork/branch hackery) between projects.
Note - I realised I forgot to mention system_stub.v in my gripe/Tutorial0. So far it hasn't bothered me because I haven't messed with system_stub.v yet. But since my Porcupine has now also arrived...
