For accessing your Android device via USB in "File Transfer" mode your computer uses the MTP protocol. This protocol allows to list and read/write the files from/to your device.
What most people don't know is that the MTP protocol does not show the content of the file-system. Instead it uses the Android MediaStore Database (an SQLite database) which is populated by the Media Provider, a special daemon running on Android (app package name: com.android.providers.media
).
If you create a new file/directory or delete something without notify this daemon the database and the file-system are out-of sync and you end up that you can see files already deleted or can't see existing files.
You can force the Android MediaStore to refresh it's database.
There are three way to do so, just pick one of the following:
Reboot your phone
Use one of the multitude of apps that can force a rescan of the sd-card
Only for Android 4-7: Use the following ADB command-line (source):
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard
Resetting MediaStore Database
Some times it can happen that the MediaStore database is corrupted. In such a case open the app info page of com.android.providers.media
(enable "show system apps") and clear storage of this app. Afterwards reboot the device.
After reboot login using your password/pin/pattern so that you can see the launcher. Then leave the device alone to regenerate the media database. This can take some minutes or hours depending on the number of media files you have on your phone.
If that still not resolves the problem of missing files and folders then may be you have a corrupted media file on your phone that prevents further scanning of the media files. In such a case you first have to identify the corrupt file and remove or repair it.