editing issue summary to reflect that this is an improvement, not a bug.
It was noted when IndexReaderFactory was added that using custom factories was incompatible with a lot of Solr features precisely because of the assumption about reader.directory()...
CHANGES.txt when the API was introduced...
59. SOLR-243: Add configurable IndexReaderFactory so that alternate IndexReader implementations
can be specified via solrconfig.xml. Note that using a custom IndexReader may be incompatible
with ReplicationHandler (see comments in SOLR-1366). This should be treated as an experimental feature.
(Andrzej Bialecki, hossman, Mark Miller, John Wang)
example solrconfig.xml (the only place the feature is advertised)...
<!-- Use the following format to specify a custom IndexReaderFactory - allows for alternate
** Experimental Feature **
Please note - Using a custom IndexReaderFactory may prevent certain other features
from working. The API to IndexReaderFactory may change without warning or may even
be removed from future releases if the problems cannot be resolved.
** Features that may not work with custom IndexReaderFactory **
The ReplicationHandler assumes a disk-resident index. Using a custom
IndexReader implementation may cause incompatibility with ReplicationHandler and
may cause replication to not work correctly. See SOLR-1366 for details.
<indexReaderFactory name="IndexReaderFactory" class="package.class">
Parameters as required by the implementation