Bun handles all of the nonsense but the catch is that it blows up both in dev and in production. Wake me up when Bun doesn't segfault/fail to work at all.
I'm not steeped in the history of this issue but I periodically run a maintained and up to date NextJS app via Bun in a dev env just to monitor performance and compatibility. It uses the app router and the edge runtime middleware, hosted from a Docker container. I haven't seen massive benefits using Bun since Next doesn't use the Bun-specific libraries that make their performance numbers great, but I haven't seen any game breaking issues either, it runs and all the app's E2Es pass.
The extensions were always silly to me. Who changes only a few files to esmodules? You either change your whole project or not at all.