[...] create this based on two indexes
As you would have to write the script calling the saved objects api and adding the filter yourself in your programming language of choice, you can do whatever you please, of course that includes looking up the value from another Elasticsearch index (by sending a search request to Elasticsearch and using the response) or by reading it from a local csv file.
But when uploading the dashboard again it has to contain the current filter value as static json (without any dynamic lookup - that's just not possible).
The logstash translate filter plugin will just do a static lookup of a value at ingest time - this means the current value will be stored in every single document in Elasticsearch and you can't simply change it later without updating every single document.
I think the confusion here comes from the fact that you basically want to do a join here - looking up values from another index while fetching data from an index. This is not possible in Elasticsearch by design - as Elasticsearch is a distributed database, it's inefficient to access values from other documents as they might be stored on a whole different machine.