How to change Paypal IPN URL when migrating Civicrm onto a new domain?
I ran into this problem today, and found my solution.

Folks who are saying that you can change the IPN URL on an existing Paypal recurring payment are incorrect; you can't, you can only change the IPN URL for future notifications.

I was able to use a rewrite to redirect from Drupal to Wordpress, as follows:

RewriteRule ^sites/all/modules/civicrm/extern/ipn.php$ https://mysite.org/wp-content/plugins/civicrm/civicrm/extern/ipn.php [R=307,L]


The magic is the R=307.  A 307 redirect indicates that a POST request must be resent as a POST.  Otherwise you lose the IPN data.