Q: "Does the hosts: all pattern only match hosts specified in inventory, or does it also match add_host hosts?"
A: Simple test shows hosts: all includes also added hosts by add_host. In the same playbook, of course. The dynamic groups live inside a playbook only.
Given the inventory
shell> cat hosts
- name: Only 2 ...