Why is my migrate source plugin (d7_file) not found for my migration?
Make sure the migrate_drupal module is enabled. (I can't be sure that's the reason, but it's the first one I stumbled over when I reproduced this locally.)

The reason this isn't easy to see:

Migrate plugins have multiple providers (which must all be enabled to use the plugin), and the relevant plugin managers actually use their own discovery which automatically infers providers from the parent class namespace. So the d7_file plugin has the providers "file" and "migrate_drupal" as it is provided by the file module but extends a class from the migrate_drupal module.

In effect, migrate's multi-provider thing adds "invisible" dependencies which silently remove the plugin when the required modules aren't installed.