The best way to upgrade Drupal 8 to 9, or indeed, Drupal 9 to 10 when Drupal 10 is officially launched, is to use composer commands at the command line.
I use Putty to access the command line for every Drupal website that I manage.
First you need to change the permissions for the files: default: settings.php and services.yml in your sites folder to 777. Below I will show you how easy this is to accomplish.
then run this using composer
composer require drupal/core-recommended:^9 drupal/core-composer-scaffold:^9 drupal/core-project-message:^9 --update-with-dependencies --no-update
then run this using composer:
composer update --with-all-dependencies
After running these commands, navigate back to your website and run the update script (update.php)
REMEMBER to ALWAYS take a backup of your Drupal sites files and database before running any updates on your Drupal website.