Question about synonyms and analysis chain

I am using following synonyms setting to try fetch documents containing windows if user query with either windo orwindos or windows:

"windo, windos,windows"

But it does not work for fields with english analyzer, I understand that is because for english analyzer, the "windows" is stemmed to "window" in inverted index tokens and since my synonym token filter is placed after "english_stemmer" token filter, all query phrase "windo", "windos" or "windows" actually are not in inverted index tokens.

I know this could be resolved by place synonym token filter in front of english_stemmer token filter, but I would like to learn if there is best practice on synonym design for my scenario?

Can anyone help?

Is it safe/good practice to simply put the synonym token filter in front of the stemmer token filter of a language analyzer?