I've also had a system where DNS resolving in LightSquid on pfSense 2.3.2 wasn't working correctly. Static leases and some (!) dynamic ones would display as host names, but all other hosts would display as IP adresses. Also, the same hosts that would display as IP adresses couldn't be resolved from the pfSense shell (!).
The solution was, coming from mostly default settings, to set "System Domain Local Zone Type" to "Static" and "DNS Query Forwarding" to "Enabled" in the DNS Resolver general settings, and to Click the "Refresh Full" button on the LightSquid settings page. To be frank, I'm not quite sure what these settings do "behind the curtains" - I've researched the meaning of these settings some time ago, but can't remember exactly what they do (yes, I'm old (; ). Could be that setting "System Domain Local Zone Type" to "Static" is sufficient to make it work.
Interestingly, clicking "Refresh Full" changed IP adresses to host names only in the "current day" report pages, not in the older reports (contrary to what the pfSense GUI says). I've been trying to get LightSquid to rebuild older reports by running "lightparser.pl" manually in the pfSense shell, but could't get LightSquid to rebuild older reports. I don't have the time to look deeper into this, maybe someone else could test and report back. I suspect there's a bug either in the way pfSense calls "lightparser.pl", or in the Perl script itself.
Also, there seems to be a flaw in the way LightSquid is called in pfSense. I've set the "report generation interval" to 1h, and the last report of every day always has a time of "23:00" (hours). I think this means that, for every given day, the report is missing all data from 23:00 - 23:59 hours, as the next run is logically "the next day" (= after 24:00 or 0:00 hours, even if only a few seconds). I'm not 100 % positive on that, though.
EDIT: I did some more digging, and it seems the "days before today"-stuff is connected to Squid log rotation. The GUI says "Defines how many days of logfiles will be kept. Rotation is disabled if left empty.". I assumed this means that the logs would rotate after the number of days I put in that field, but that assumption isn't correct. In fact, when entering any number in this field, the logs will be rotated every day, and logs with a higher "rotation sequence number" (appended to the log file name, like "access.log.x") will be deleted during log rotation. The number put into the GUI field is the number of logs that will be kept, not the number of days per se (it's only the number of days because pfSense "silently" rotates every 24 h). I think there should be two fields: "number of logfiles to keep" and "number of days to rotate the logfile after". The second field would have to change the "log rotate" cron entry in pfSense.
Sorry for getting a little off topic. I'll watch this thread for any replies, and maybe open a new thread with all that "rotating stuff" if there's any interest in the matter.