Found! name vs id outputs on the pool. (It's easy to loose track of when to use which and seeing the error crosseyed, it's easy to miss the repitition of the full project path that was in the error)
The correct code is:
authority = gcp.certificateauthority.Authority(
"internal-ca-authority",
certificate_authority_id=f"internal-ca-authority-{stack}",
pool=pool.name, # <<<---
...