In order for WordPress to recognize a plugin it needs to be in the correct plugins folder.
In an usual installation this is wp-content/plugins/
If you use wpackagist.org, a working example would be this composer.json:
{
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org"
}
],
"require": {
"wpackagist-plugin/broken-link-checker": "*",
"wpackagist-theme/twentyseventeen": "*"
}
}
wpackagist-plugin
signals its a WordPress plugin you want to install wpackagist-theme
signals, its a theme.
I hope, this helps.
If you want to manage your whole installation (including WordPress), I suggest you have a look into WPStarter
Edit:
I tested your composer.json like this:
In the folder, where I have my composer.json I run
wp core download
wp config create ...
wp core install ...
composer install
and it was working for me. My guess was maybe file rights. Could it be, the directory is not readable for the PHP instance?