I had a thought here... are we looking in the right place? Permissions are all very well, but what if it isn't hts that's trying to access the files.
tvheadend includes its own web server. That loads up the extjs pages (config.js and friends). I am assuming that none of this necessarily runs as hts... it may run as root, maybe something else. So...
1. If there's some quirk of different distros that changes how this process is spawned, the rights it inherits, or similar then maybe what works on, say, 'buntu 12.x doesn't work on Arch.
2. If something else has happened during installation that does the same - maybe some global umask, maybe a top-level inherited file system permission - then perhaps a process that runs as UID:GID on box 1 can access the files while the equivalent on box 2 can't.
We'd need to figure out where the processes run... are they simply threads of tvheadend (in which case they're indistinguishable and should be hts:video) or are they genuinely separately-spawned processes in their own right.
Just a thought... maybe judicious use of ps -eaf, grep, pstree, fuser and similar would tell us more?