The part of your message I would not move past: "some of them create data".
If you are relying on @env: to keep scenarios off a production-like environment, you are relying on nothing. Add something structural underneath it:
in that environment's yaml. With no pool, any scenario reaching I use a leased user with role "..." throws USER_POOL_EXHAUSTED instead of signing in. It fails closed, which is the right direction.
Two caveats and both matter. It only protects scenarios that lease a user — an anonymous POST, a public form submission, a webhook call is not stopped by an empty pool at all. And it is one well-meaning edit away from being gone: somebody adds a single pool row for a legitimate reason and every @user: scenario is armed against that environment silently. Put a comment on the empty map saying why it is empty, and if you can, a CI assertion that it still is.