General architecture is author for write & publish is read only copy of author with exception of social module. In your setup that is not true. Any reason?
Anyhow For your use case you do not have to get vanity path from publish instead configure flush at publish instance rather than at author.
Alternately there are couple of option to make a call to publish from author to get a vanity path Ex:- http://<port>:<port>/content/geometrixx/en/jcr:content.json the property sling:vanityPath will give the required value.