We are trying to compute the matrix-vector product - and I am claiming that the first term computes to m.dl/dx1, and not dl/dx1 as shown. Just look at the Jacobian transposed as shown, and multiplying terms of first row of jacobian transposed and v, and add them up.  The canceling of dy_i is exactly permitted by the chain rule, because, for each respective product term, it is dy1, dy2, etc. respectively, in both the numerator and denominator. So, for the first term of the output vector, the sum is (dy1/dx1 * dl/dy1) + (dy2/dx1 * dl/dy2) + ... , and in each term, the dyi term cancels out, by the chain rule.
I totally might be missing something, but I don’t see it.