The problem turned out to be that even though the eslint.config.mjs file was installed, a .eslintrc.json file, which I thought was supposed to be deprecated, was also installed, and ESLint was using that. I removed it to see if the linter would pick up on the .mjs file but I got an error that way. So I restored .eslintrc.json, added my rule exceptions to that file, and it worked as expected. Shaking my head.