I've implemented ECIES (see the below pseudo-Python).
r = urandom(32)
p_r = x25519(r, BASE_POINT)
shared_secret = x25519(r, x25519_public)
iv = urandom(12)
key = sha256(p_r + x25519_public + shared_secret +
iv)
plaintext_sig = ed25519_sign(eddsa_secret, plaintext)
ciphertext, tag = chacha20_poly1305_encrypt(key, iv, plaintext) # as per RFC
output(p_r, iv, plaintext_sig, ciphertext, tag)
As you can see, the plaintext is signed to provide authentication. Does this signature make the Poly1305 MAC redundant?