Side of length matching within a differential signal
The key idea behind differential signal routing is that any noise source that affects one wire affects the other wire equally, effectively cancelling out the noise.

Therefore, it is important that the noise enters each wire at roughly the same place along its length - otherwise, the two "copies" of the noise will be at different phases when they reach the receiver, and will not cancel as effectively.

With this in mind, imagine an extreme case where the "noise" source is at 10GHz (say it's another 10Gbps signal on your board).  Lets say that at this frequency, 0.35 inches is 1/2 wavelength.  Now, pretend that your two traces are 0.35" different in length, and that you put a 0.35" length correction at one end.  Now, a large section of your positive trace is 0.35" "misaligned" from your negative trace - and now, instead of the 10GHz noise cancelling at the receiver, it adds constructively, doubling the noise.  The best practice in this scenario is to add tiny length compensations along the entire length of the pair.

This is, obviously, an extreme case.  If your most annoying noise source is, say, 100MHz, the wavelength (and thus alignment tolerance) is much longer.  Also, even in the 10GHz case, 0.35" of initial length mismatch is pretty extreme.

My conclusion?  You're probably fine either way (although you may want to avoid the right angle bends in favor of curves or 45 deg bends).  There's not much difference in putting the length correction at the transmitter or the receiver.  But if you really want to do it right, the length corrections should be distributed along the line, matched up with the places where the length errors happen.