Darktable has two distinct operations: Remove and Delete/Trash. By default, the DEL
key is bound to the former. That just removes the information about that file from the database, and doesn't affect the actual file. You can change this in the preferences under shortcuts:
Double-click on the "delete from disk or send to trash" line and then press DEL
. Now, in the future, deletion will be "real" on the filesystem, not just in the database.
Unfortunately for you, there's no way to do this retroactively, because by definition now darktable doesn't know about those files.
Darktable includes a script to do the opposite: remove files from the database when they don't exist on disk anymore. If you have a little bit of shell script and SQL knowledge, that example should get you started on doing the reverse.
Or you could use @junkyardsparkle's clever suggestion.