Henrik, Thank you for this analysis. This is a good test and a creative way to test their equivalence. It is an oddity though; even when I pass values for all of the parameters and test i1===i2, it still returns False.
It occurs to me, testing D[i1,v]===D[i2,v] is testing the equivalence of the integrand though; which we know to be correct because the integrand doesn't change in either of the inputs i1,i2. I think this is relevant because it appears that the issue is with the function "Integrate[]"; something odd is going on where it returns two different values that are not equivalent. Is there some kind of simplification that is occurring in error?