The ledger address required for the set ledger high watermark
command is what is listed via the command:
$ ./tezos-client list connected ledgers
Found a Tezos Baking 1.5.0 (commit v1.4.3-21-gf3071161) application running on Ledger Nano S at [0001:001d:00].
To use keys at BIP32 path m/44'/1729'/0'/0' (default Tezos key path), use one of
tezos-client import secret key ledger_<username> "ledger://<animal>/ed25519/0'/0'"
tezos-client import secret key ledger_<username> "ledger://<animal>/secp256k1/0'/0'"
tezos-client import secret key ledger_<username> "ledger://<animal>/P-256/0'/0'
So the second thing you tried is the correct method:
$ ./tezos-client set ledger high watermark for "ledger://<animal>/ed25519/0'/0'" to 0
That said, the error you are receiving usually means you haven't confirmed with the physical ledger that the watermark change is allowed. In other words, you may not have pressed the button on the ledger to confirm the change. Yes, there is a physical confirmation on the ledger required to change the high watermark. This is presumably to prevent someone with shell access without physical access to the ledger to cause double baking/endorsing.