I’m now focusing my suspicions on the pre_option_home filter. The WordPress MU Domain Mapping plugin uses that to modify the domain name that’s returned from the get_home API. Is it possible that WordPress isn’t running the filter while posts are being published? (But does when scheduled posts get published?)