> Bob reads the op_return
How does he do that without contacting a server? The OP said he uses bip47 on a mobile phone, so it is very unlikely that a copy of the blockchain is on the device. Therefore, unless you are in the very special circumstance of actively syncing blocks on your mobile device, your bip47 wallet contacts a server.