You basically replace the URL that the reader uses to connect to their cloud platform with the one from your self hosted instance. Then the Kobo will just sync normally like it would do with their platform, the queries not understood by Calibre-Web (usually books not stored there or requests to the Kobo Store) are proxied by Calibre-Web to the Kobo Cloud.
More info here
My Kobo Libra works perfectly with my self-hosted Calibre-Web, it syncs directly with it in the same way as it would sync with their online platform. You can also use both as it uses the later one as fallback.