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.
Not really, I did have to install and setup kepubify and i always convert the epub files to kepub manually (from the Calibre-Web page) after I upload new books, so far I only had minor issues when removing books from Kobo and suffered a random reset of the reading hours stat.
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.
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