Why are cv php:boot calls failing only when running unit tests and not through direct CLI calls?
I found the answer: I was using a backup: the CiviCRM unit test framework uses files and services not found without doing a git clone (or buildkit equivalent). The folders you need from a git clone are Tests and Tools.
Leaving this here in case it assists someone who encounters the same problem.