Для ясности, вы ссылаетесь на composer.json, который является просто файлом конфигурации сборки. Я бы сказал, что он не принадлежит ни одному из ваших каталогов, потому что это не веб-файл (project.com) и не php-код, который нужно включать во время выполнения (project.inc).
Как бы то ни было, не имеет значения, где вы его разместите. Что касается установки местоположения каталога вендора, вы можете сделать это в разделе конфигурации файла composer.json
{
"config": {
"vendor-dir": "project.inc/vendor"
}
}
Я бы все же рекомендовал вам взглянуть на symfony и laravel, а также на структуру и соглашения, которые они используют. Они обращаются к тем же вещам, к которым вы хотели обратиться, и даже к нескольким вещам, к которым вы явно не обращаетесь.