So far I've only used Next.js for static site generation, for a couple of long-term projects. Self-hosting it is as easy as any static site. Upgrading major versions of Next.js, however, has been fairly painful. The experience made me reconsider the decision to use it, and I'm keeping up on possible replacements like Remix. But honestly I'm getting a lot of value out of the framework that I'm in no hurry to change.
For dynamic sites that require running Next.js on the production server, I'm not too interested in trying because it feels like too much vendor lock-in. The same reason I wouldn't consider Vercel for hosting, since they develop the framework that is already a big dependency.