Are you ABSOLUTELY sure that TVHeadend is being started by user 'hts' - I'd say 100% of issues I've seen with being able to login (and Kodi being refused access) is down to the wrong user being used to start TVHeadend.
By default (i.e. when you use the packaged version of TVH) a user called 'hts' is created who is a member of the group 'video' (sometimes the group is 'hts' too but that wouldn't cause login issues).
If you start TVHeadend using systemd (systemctl start tvheadend) or sysinit (/etc/init.d/tvheadend start or service tvheadend start) then the default user is used (I think it's stored in /etc/tvheadend). If however you start TVHeadend from the command line, it will run under your current user unless you do "sudo su hts" and then run the TVHeadend binary.
The importance of this is that the .hts configuration directory is written to the user directory who ran the binary, so if you configured TVHeadend as your user then tried to run it in daemon mode under the 'hts' user, the configuration will not exist (the same is true the other way round).
Double check that;
* The user in /etc/tvheadend matches the user you are running the TVHeadend binary as
* You are using the appropriate method to start TVHeadend
If you've done that, you can try the following. This will start TVHeadend as the 'hts' user but in default configuration mode which will allow you to reset passwords if required;
/usr/bin/tvheadend -c /home/hts/.hts -u hts -g video -C
The important flag is the -C flag which starts TVHeadend in 'first run' mode. You can close the wizard that opens on start and just configure your user, then terminate the TVHeadend binary (ctrl+c) and then start it in daemon mode using systemctl, init.d or service (whichever is configured on your distro).
If the 'hts' user is not a member of the 'video' group, then run the following;
sudo usermod -a -G video hts
The 'hts' user needs to belong to the 'video' group to access DVB devices, the TVHeadend package should configure this so this step may not be necessary unless TVHeadend fails to start in the command above.
If/when you get back in, I would disable digest authentication (Configuration > General > Base, uncheck 'Use http digest authentication'). I find digest auth unreliable in TVHeadend and it can cause login issues.