This sounds crazy, I know, but after three days of testing myself round and round in circles, I am beginning to think that there is some fundamental way in which the Grav webmention plugin behaves very differently in a local MAMP development environment versus the live, production environment.
I need to go back to first principles, I think. If only I could work out what those are.