The auxiliary space analysis that involves modifying the input array can lead to "unfair" situations. Examples:
Consider that an algorithm that uses O(N) memory and does not need to continuously read the input space can choose to move its allocation into the input space and thereby appear O(1) regardless of the algorithm itself.
Or, consider if extra space were passed in the form of a redundant variable or unused sign bits, the algorithm could masquerade as O(1) again even though nothing changed about the core algorithm or the input information.
Considering auxiliary space complexity formally requires an immutable input tape, I believe the best approach is to consider the corresponding problem that considers the input immutable; that requires extra space declared explicitly.
Lots of leetcode solutions falsely masquerading as O(1) auxiliary space.