Do snapshots capture hard deletes?

No, snapshots do not invalidate records when they are deleted from the result set.

Check out the discussion on:

It's also possible to create your own snapshot strategy that handles hard deletes (docs) — this is an advanced usage of dbt!