More specifically, consider how a host (machine1) at site A with address 192.168.1.10 tries to talk to a host (machine2) with address 192.168.1.20. Machine1 knows that it is using /24 for the subnet, and therefore it can arp for the mac address of machine2. That arp and reply won’t even be processed by the router at site A.
You might be able to hack something up with /32 host routes installed on each machine at site A that need to talk to machines at site B, pointing them to the site A router, but I doubt that would work, and in any case it would not scale well.
Rather than renumbering one of the sites on ipv4, consider adding non-overlapping ipv6 addresses to both sites. Then communicate between the sites on ipv6, over a tunnel if necessary. If you don’t have native ipv6 from your provider(s), I would get free ipv6 tunnels from tunnelbroker.net.
I also try to use “Mapping of Address Ranges” to make the IP space unique, and then send the traffic via IPSec. This scenario was functional in an earlier version of Vyatta