Use the configFileProvider is clear way for what you want archieve.
that is what the build wrapper does. You can use jenkins credential for private repository.
Or if you use authentication variable in the config file you don't even need to install nodejs plugin.
NodeJS is specialized to provide an automatic installation regardless of operating system. You can also define a tool specific for that docker image in Jenkins->Manage Jenkins->Global Tool Configuration->Add NodeJS installation and than disable "Install automatically" checkbox. Put there the home folder of the NodeJS. At runtime it verifies if node executable file exists in the ${PATH}/bin/node (depending by the version and operative system). If you do that, it works (I had try locally on my computer). It's a bit useless since the defined tool works only on that docker image and loose the global package install feature.
If you had test with a valid (for sure not /usr/local/bin or /usr/local) NodeJS home path and does not work than I will spend time for futher investigation on other O.S. different than mine otherwise I will close the issue as "Not a Defect"
I do not want make tool as optional parameter or define a "System Default" tool because I can not gaurantee nodejs is really installed and this cause confusion (and issue opening) when the same pipeline work on a node but not on other.
Folders you had list are not home of a standard NodeJS. There is no reason to configure a plugin that manage multiple versions of NodeJS indipendently from the platform and contributes the PATH environment variable and than use the NodeJS installed on local syatem. Simply do not use NodeJS plugin step you should get the system PATH in any shell step.