kns: don't assume stuff about QUrls behavior
supposedly in 6.7 the parsing changed a bit and now certain providerIds parse as path rather than host. the host component extraction was super questionable anyway because it means you can't get to the providerId from the url, rendering the provider part entirely pointless.
instead percent encode the providerId as a whole such that it is safe to be part of our url while also being completely reversable to its KNS providerId by percent decoding again.