I ran:
kubectl operator install etcd -w "default" -C
This seems to result in a successful installation, but there's an extra install plan in the namespace for etcd, which remains un-approved.
According to OLM maintainers, the duplicate install plan issue is a bug. OLM will auto delete all but the latest 5 install plans, so we could delete the duplicate install plan in kubectl operator code, but it doesn't seem strictly necessary.