Conflict calling an add_filter() twice

Filters get queued and sorted by priority, then order of occurrence. Filters’ default priority is 10, unless otherwise specified. The order of occurrence can be affected by the order plugins get fired (alphabetical, by plugin name).

So, when you started poking at this, both filters had equal priority. That would mean a rather arbitrary factor caused one filter to take precedence over the other.

Therefore, the only method for ensuring that any given filter is applied is to ensure that it has a higher priority than the filter you are trying to modify/replace. So, in your case, 10000 was higher than necessary, but represented the most appropriate approach.

Hope this answer helps!