Hey, so I ran into this same issue.
I was trying to use Ubuntu Server 20.04 LTS and Bitcoin Core 0.20.0 and I had installed Bitcoin Core through the Snap Store.
I managed to get it working and it is downloading the blockchain now so I figured I'd share the solution.
Turns out the problem isn't with bitcoin-qt at all, the issue is with how snap does permissions and handles connections.
Heres a link to the interface management documentation:
https://snapcraft.io/docs/interface-managementBasically, the issue is that by default bitcoin-core doesn't allow read/write access to removable media.
You can view the interface connections by typing
snap connections bitcoin-core
This pulls up all the relevant information and you'll notice that the Slot for removable-media is left blank.
The documentation for the removable-media interface says that when it is enabled, you have read/write access to storage in /media.
https://snapcraft.io/docs/removable-media-interfaceTo connect the removable-media Plug to the empty Slot simply type
sudo snap connect bitcoin-core:removable-media :removable-media
Then, just check using the snap connections command again to see if it worked.
Once you have the manual connection made, you can then change the data directory in the Bitcoin Core GUI. Its important to note though that you first need to send a copy of the bitcoin-core folder from your snap folder to your external hardrive. Do NOT just move the folder, you have to make a copy, it crashed my device when I tried just moving it.
So your custom data directory path should look something like
/media/(external drive)/bitcoin-core/common/.bitcoin
It should still say "a new directory will be created" underneath.
Then just hit OK and it should work and begin downloading.
Best of Luck!