Multi-site search affinity should work automatically as long as you have a searchable copy of the data at the same site. So that much should be good without going to extra steps as long as the indexers are configured correctly.
Adding site_search_factor = origin:1.total:2 as you have should take care of at least having one searchable copy of data at each site, so in case of network problem or indexer failure you'll still be able to search. (In those emergencies you may search across sites).
So, on to your multi-site indexer cluster settings. You've set site_replication_factor = origin:2,total:3 with two sites that appear to be correctly set up with two indexers each. So, wherever the data originates (either site1 or site2) will get two copies - matching your two indexers - and the "other" site will get one more copy to bring it up to 3 total copies.
In my eyes the multi-site stuff looks correct to accomplish your goals. The rest of the config I'm less an expert on but it doesn't look wrong.
Does that help?
... View more