First, I want to apologize for not responding in a reasonable amount of time. I've been heads-down the this past month.
I posted this question on the Apple forum and it seems that the manner the parameters are packed in variadic functions differs from a the way non-variadic functions pack parameters.
So, while this works in armv7 and armv7s, you can't depend on it to work in arm64 or even if a high level of optimization is applied.
I feel that if this is true it sort of violates the ABI, but I'll take it for what it is.