I don't think this is possible, a node can only have one HTTP publish address so you must choose which one you want.
Rather than using sniffing, can you set up DNS and use a StaticConnectionPool
?
Also note that you shouldn't expose Elasticsearch to the public internet.
This setting is purely about nodes in the cluster discovering each other. It has no bearing on anything to do with HTTP.