It looks like 'hosts visited' in the crawl report is calculated by the unique hosts in the hosts-report, and not necessarily the number of hosts with #urls>0
Example with attached reports.
cut -f1,3 -d' ' hosts-report.txt | sort -u | wc => 358 lines (357 unique hosts - 1 for dns = 356 total known hosts)
cut -f1,3 -d' ' hosts-report.txt | sort -u |grep -v 0 | wc => 16 unique hosts with #urls != 0
crawl report - hosts visited: 356
H3 build 106