We use this method too. A build script on our server runs composer to “package” our app and all its parts. (a folder)
Then it sends the whole thing to production. With this setup, composer doesn’t need to be installed or run on production.