node: install npm using tarball.

Install `npm` to the expected location using the upstream tarball. This should make everyone happier.

This means Homebrew doesn't really manage `npm` any more but does install it. This is treated similarly to how we handle `pip` and means that `npm` can upgrade itself.

Closes #27479.