Yes, this rule applies to useMutation as well, though seems we forgot to include a snippet on the actual mutations page. In your case, you’re using the mutate function returned from useMutation, but you aren’t reading the state-based values returned from that hook (i.e. data, loading, etc.) so you’re re-rendering your component for changes to values you don’t use.
Since the core API isn’t interacting with React state, your component won’t re-render just for executing the mutation. Hope that helps clarify!
Error-related promise behavior should be consistent everywhere now, but some query-type promises won’t throw “unhandled promise rejections” if you never await or chain off of them.