1. compact, in that it uses a relatively narrow range of numbers.
2. efficiently computable, in that you can quickly map numbers (or preferably, thousands of them) to positions, and back.
The combination of these is what allows for estimating the number of legal positions.
You're right that counting is much easier than ranking. That's reflected in my Haskell counting program [4] being MUCH simpler and MUCH faster than the ranking program. But counting is only good for upper bounding and doesn't let you draw a random sample to determine the fraction of legal ones, as needed for estimation.
[1] https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[2] https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[3] https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[4] https://github.com/tromp/ChessPositionRanking/blob/main/src/...
I can imagine this project being of interest in the seminar of the right university department.
I don't think that this is true. I think that explicit enumerations are rarer than exact size computations, which are themselves rarer than asymptotic size estimations, for presumably obvious reasons; but a bijective proof (https://en.wikipedia.org/wiki/Bijective_proof) is still regarded as the gold standard in combinatorics, and as a desideratum.
Of course you can derive an enumeration by bijection to a set with an existing enumeration, but the point is that that's usually not of interest.