Synonyms should be handled either in indexing time, or on query time. There's no real point in doing this both ways.
What you propose requires too much work, and your first attempt should really try to use RavenDB constructs - for example by updating the RavenDB documents matching the query and by that trigger their reindexing.
The real questions you should ask yourself are how frequent is this list going to get updated, how big will it be, and how many synonyms in average per word you will have.
If the updates are frequent enough, and especially if the majority of queries are expected to be short (Google-style queries) I will highly recommend doing the expansion on query time - by providing your own Analyzer to the QueryParser or your own QueryParser. I believe there is no separation between search and index analyzers in RavenDB at this point, but there should be one.
Please note if you are using highlighthing as well Lucene.NET currently has a bug which may cause searches to become unresponsive when highlighting phrases with multiple synonyms.