/usr/share/info/emacs-24/emacs.info.gz FWIW, to the best of my knowledge, $(infodir) has always been a flat directory, and dir files a flat namespace. The problem of multiple versions, similar to multiple languages, has never been satisfactorily resolved. This is the first time I have ever seen subdirectories being used in this way. I don't like it and don't know of anything anywhere claims it is supported, let alone recommended.
The only reliable way I know of is to have different names for the info files (emacs24.info, ccmode24.info, etc.). Problematic I know, but every solution I have ever seen proposed, including this one, is problematic. karl