Resolved
It was a standard flatpak app configuration setting. In the filesystems= value in the Context section, it quite simply sets the permissions that it requires (as an application). (Like everything on fedora 41, these would be subject to SELinux, but in this case that wasn't an issue - I checked as part of my initial investigation).
I added the Documents folder in home, making sure I used the "xdg-documents" notation for it. That worked like a dream. I suspect that this file will be reset after each upgrade - I'll check on it.
In summary, it was a sensible flatpak setting/restriction, and in this case not an SELinux restriction. Here is the Context section, with my change being on the filesystems line.
File in question:
/var/lib/flatpak/app/com.vivaldi.Vivaldi/current/active/metadata
[Application]
name=com.vivaldi.Vivaldi
runtime=org.freedesktop.Platform/x86_64/23.08
sdk=org.freedesktop.Sdk/x86_64/23.08
base=app/org.chromium.Chromium.BaseApp/x86_64/23.08
command=vivaldi
required-flatpak=1.8.2
[Context]
shared=network;ipc;
sockets=x11;wayland;pulseaudio;pcsc;cups;
devices=all;
filesystems=~/.config/kioslaverc;~/.local/share/applications:create;/run/.heim_org.h5l.kcm-socket;~/.config/dconf:ro;xdg-download;xdg-run/dconf;xdg-pictures/Vivaldi Captures:create;xdg-desktop;xdg-documents;~/.local/share/icons:create;xdg-run/pipewire-0;
persistent=.pki;
I'm not aware of a way to do this via the in-app settings; happy to be corrected.
Scrap that
There is a standard way to modify the application permissions of flatpak installs, via the package manager. A button called "Configure Permissions ..." It's listed there.
I'm guessing it ends up changing the same file, but it also is persistent across application updates.
The changes end up living here, which is why they remain persistent:
/home/nigel/.local/share/flatpak/overrides/com.vivaldi.Vivaldi
Screenshot_20250108_232404.png
(Hope this helps anyone who runs into the same issue/knowledge-gap!)