For clarification:
From an Android point of view there are an Internal Storage and an External Storage.
1. Internal Storage
In the Internal Storage, the app package is saved:
/data/data/<app packageName>/
which can only be accessed with a rooted device.
2. External Storage
The root directory of the External Storage is:
/storage/emulated/0/
2.1. App-specific directory
In addition, there may be an app-specific directory (which can be created with Taifun’s File extension: https://puravidaapps.com/file.php)
/storage/emulated/0/Android/data/<app packageName>/files
which is saved in the External (private) Storage, but does not require READ_ / WRITE_EXTERNAL_STORAGE permissions.
This app-specific (private) folder can only be accessed by your app.
See: https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE
2.2. Removable (micro) SD card
There may also be another external storage: a removable (micro) SD card
eg: /storage/82C3-E96C/
that can only be read (on modern Android systems / since KitCat).
Note: The root directory of the External Storage /storage/emulated/0/
is displayed on the device as Internal Storage (unfortunately this is a bit ambiguous).
Here is an excellent overview on this topic: https://www.dev2qa.com/android-read-write-external-storage-file-example/