Element X implements most of the client side stuff mentioned above, but it doesn’t depend on a specific room version: instead, your homeserver must implement/run an additional service (a “sliding sync” proxy, a special binary written in Go that is deployed alongside Synapse) and then advertise that service’s existence.
If it does the latter, Element X will know where to connect and will function.
Note that this is only temporary so that people can make use of Sync V3 before it officially lands in Synapse. And it, technically, isn’t synapse exclusive either, as it’s its own thing.