I dug into the code a bit, and it does seem that the IPN URL is set dynamically only for the PayPal button, not the pro-form.
Jason’s documentation does leave one unsure when he talks about this, as quoted in my reply above, because he’s talking about PayPal buttons agains PayPal Pro… But Express Checkout is not PayPal Pro, nor is it a button… When he says Pro, he does seem to be referring to the pro-form, which was created for the PayPal Pro integration, and also supports Express Checkout.
Here’s a reply he left in the old forums some time ago:
The central IPN handler works as a proxy for other installations of s2Member that you run, across multiple sites/domains perhaps. So you setup the central IPN handler in any location you prefer. Then, set the default IPN URL in your PayPal account, to that central location; you’re good to go.
Of course, it’s not always just that simple For example, in the case of PayPal Standard Buttons, the IPN URL is set on a per-Button basis, so the concept of a central IPN handler will only work if you are running PayPal Pro; where all of your sites are using s2Member Pro Forms; instead of standard PayPal Buttons.
Then again, if you’re running PayPal Standard Buttons, you really don’t need a central IPN handler. Simply because the IPN URL is, and can be, set on a per-Button basis. Thus, there’s no need to have a central IPN handler.
There are additional/detailed instructions on how to set this up, located at the top of the central IPN example file; available in your account here at s2Member.com. Download the /s2m-pro-extras.zip file, and inside the ZIP you’ll find the example PHP script.
Still doesn’t mention Express Checkout, but he does compare the buttons with the pro-forms (“your sites are using s2Member Pro Forms; instead of standard PayPal Buttons”), rather than with just PayPal Pro.