Fedora's package management system is meant to treat your system as composed out of a consistent set of RPMs. If you go outside of that, there's no really good way for it to handle that. You've attempted to work around this by excluding the package, but this can cause other problems (what if a different package actually requires that system version of NPM, for example).
So, instead, I'd suggest this:
Install your own NPM into
/home/lynob/whatever. Adjust your paths and scripts to use that for your own stuff. Ignore the system npm completely; either don't install it, or else if installed, don't use it for the software you want the upstream version for.