What is the correct way to update a production site with composer?
Updating Craft on the production server
Assuming the up-to-date composer file was committed and pushed to the repository:
cd /path/to/repo

# Removes any changes that would block the pull and then pulls from master (or your branch name of choice)
git reset HEAD --hard
git pull origin master

composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader

# Depending on the actual server, reload the PHP FPM service to clear the cache
service php7.4-fpm reload

# This one does a backup by default
./craft migrate/all

./craft project-config/apply

# Watch out here, because probably not all caches should be cleared: Imagine all image transforms are gone, not great.
./craft clear-caches/all 

Updating Craft in the development environment
This part is covered by the docs: Updating from the terminal
To queue or not to queue
In most cases it is not necessary to touch the queue system, since it relies on Control Panel visits. Here is some more info: Queues