It is installed globally via npm i -g vercel.
And yes, the upgrade process I’m using is its self-updater, by accepting y when vercel detects an upgrade available, when I invoke just about any vc command while within a project.
So even though my vercel is installed globally with NPM, it keeps adding itself locally within its own upgrade process.