Clearly the IP address maps to a website, though not always one-to-one. In which case Reverse DNS gets you most of the way there. Presumably, this is better in the case of multiple sites served on the same IP through shared hosting or a CDN. Disambiguating with subqueries makes sense to get that last-mile accuracy.
While TFA claims 95% of sites are identifiable with their method, it also states 68% already would have been from IP alone in the first place. Presumably unique IP + unique resource boosts that higher. So the fingerprinting is perhaps not so dramatic, while requiring a lot more work.
What would be interesting to measure is how many sites _require_ fingerprinting to be uniquely identified. As well, the average number of sites per shared IP - to see how precise IP is even in the shared case.