I think it’s fine to use results for both. It is not really a ‘common return value’ in the sense that it is decribes a return value of an actual module, but the result of using loop (or with_*) together with a module - which has a very different structure from a normal module’s result.
Or do we have the assumption somewhere that results always means this is a loop result? If that’s the case, the sanity tests should be updated to prevent results showing up in documented return values for modules IMO.
If it causes confusion, I think it would be less disruptive to rename the module return key instead of changing a common return value. The latter would break content using loop/with_ results regardless of whether they were even using a module that happens to also return results.