> would you use a setter (and increase mutability) and add a getter (and decrease encapsulation)?

Because this won't change the signature of the Store class by leaving the constructor as is. I have seen other parts of the Store accessing global settings therefore in order to make sure the get rid of those globals in future one would need a public getter otherwise Writer/Reader/QueryEngine don't have access to the configuration.