Unfortunately, your instinct is right, this is a big problem to tackle. It needs one of two things depending upon which app is impacted.
For apps that use the GTK2 file picker we need GTK2 to be updated to support the desktop-portal, which is unlikely to happen considering the age of GTK2 and that we’re now onto GTK4 upstream.
For apps that use a custom file picker that they ship inside their app’s code we have less chance of fixing this because the desktop-portal doesn’t pass data about the files on your system back to the app - it only sends the actual file opened. It is possible we could implement an API to expose this data, but that is an information leak that allows the app to see beyond it’s permitted confinement boundary.
For GIMP in specific to my knowledge as the publisher of that snap the file dialogs are both GTK2 and customised within the GIMP code. So both of these scenarios apply somewhat: the file picker is customised so we have the problem of not being able to see the mounted drives’ information (mount-observe may help - I still need to make time to test that), and also GIMP is GTK2-based which means even if it weren’t using a customised file picker we’d still require GTK2 to be updated to support the desktop-portal.
The good news is that most apps using Qt5 or GTK3 should support the desktop-portal natively.