Did you run the application from Visual Studio? If yes - this explains why there is a node_modules directory. Visual Studio runs npm install behind the curtain unless it already exists (as a symlink or directory).
Radzen works in both scenarios - with a symlink and custom node_modules as there are valid use cases for the latter - the developer may want to install third party npm packages. The problem arises when we release an update of the @radzen/angular npm package which is the Radzen Angular UI components. In case there is a custom node_modules directory this package remains old.
In a future release of Radzen we will perform a check to see if the version of @radzen/angular is up to date in case the application has a custom node_modules directory. If it isn't we will ask the developer to either update @radzen/angular from command prompt or to delete node_modules altogether so Radzen can use the symlink.