Avoid duplicate loads on creating item adjustments

This reduces a source of duplicate records loads that can lead do deadlocks and identity problems.

We oversaw this one on the deduploads optimization branch.

After merging I'm gonna squash this commit into the deduploads one on the next rebase.
I just capture all args here to make sure we raise appropriate exceptions, and sharing implementation with `#where`.