That's right. It's all use-case based. Indiscriminately closing issues automatically is definitely wrong. Automatically closing issues that cannot be reproduced or have other issues is a perfect use-case for stale bot.
Using GitHub's stale bot you can set it to ignore labelled issues, and so it's up to maintainer to label things correctly. Once the maintainer does so, stale bot won't touch it.
I believe that's backwards — it requires active effort from the maintainer (who may be on vacation) to prevent closing, when the ball is in the maintainer's court (to check if it's a reasonable ticket). The process described elsewhere in this subthread, where the maintainer has put a label on the issue before it can be auto-closed, is better (since the next action is on the reporter); that must only happen if the reporter hadn't responded, though.