Came along this thread having similar issue and it helped me to understand my problem.
But it still was not a solution to my problem..
So here is my "solution" for docker rootless with data on a CIFS share.
In my case, the volume was mounted as CIFS share on host.
Mounting it in context of docker rootless user fixed it for me.
First we need to know UID and GID of the user docker rootless is running as.
# UID
id -u {USERNAME}
# GID
id -g {USERNAME}
Now we add uid and gid to mount options of our cifs share in /etc/fstab e .g.
# just a simplified example
//host/share /media/user/share cifs uid=1000,gid=1000 0 0
After remount the cifs share is running in same user namespace as docker rootless and should work as expected.
For systemd mount unit just extend your Options as follows
# just a simplified example
...
[Mount]
What=//host/share
Where=/media/user/share
Type=cifs
Options=uid=1000,gid=1000
TimeoutSec=30
...