eldzejgm whether or not this solution actually works in practice, I strongly recommend against it.
If you are going to download extensions manually, always use the archive listed by the Packagist API. It's generally the zipped repository straight from the original GitHub repository. We can't trust the extensions in that ZIP file to not have been tempered with.
Generating a complete vendor folder locally with Composer and uploading it to the server is a valid method (in fact, almost the only method), but you should use the Composer client to create it otherwise you can't guarantee you are using the unmodified software, and you might not be able to install the latest versions of extensions. I assume this is what you did, and it would be better to explain to other people how to do it themselves instead of providing a generated file they will not know how to update in the future.
Uploading a partial
vendor folder will not work. Composer generates an "autoload" file that has to be up to date with the content of the folder. Furthermore, if you do a manual upload of some packages, you'll have to manually go and find which dependencies must also be copied, which is easy for the Composer client but extremely tedious for a human. If you do a partial upload, Flarum might not crash but it'll probably try to load extensions that aren't really installed, possibly bricking access to the admin panel or completely bricked after trying to enable one of the ghost extensions.