I've been looking at this. At first I thought, OK, let's just add the non-standard path to the apparmor file (which by the way is /var/lib/snapd/apparmor/profiles/snap.bitcoin-core.qt)...
But what's curious here is that the operation being denied isn't reading or writing those files. It's "mknod" - creating a device file.
That's super strange. What's bitcoin-qt doing that for?
Then I went looking for where in the source code a mknod is being performed. Only "mknod" does not occur anywhere in the bitcoin sources. Or in the bitcoin-core-snap packaging.
Fine, perhaps there's a legit reason for this, and perhaps bitcoin-qt is calling something that calls mknod... but why?? Why create a device file? That's odd behavior for a program that doesn't deal with hardware devices.
I can hardly find any hits on google on anyone even looking at the snap at all, let alone thinking about this issue. There was this:
https://twitter.com/rusty_twit/status/1201368196608999424 - made me chuckle, but no solution of course.
Does anyone have any ideas?