You could try moving Kirby’s index.php and .htaccess files into the webroot, then proceed with a “custom folder setup”. Point all relevant folders to __DIR__ . '/cms', like:
This should get you started, I don’t know about the URLs that will then be generated (when calling $page->url() or $image->thumb(...), for example), those will probably require some more configuration
What you are trying to do is often referred as “mapping remote content into the local namespace” and can be achieved by accessing the given (remote or local) content via a reverse proxy.
I you are using Apache (with mod_proxy_html and dependent modules activated) and having access to the virtual host configuration file, you could use the following additional directives (for the page to be accessed by https://mysite.co.uk/news):
SSLProxyEngine on
ProxyRequests off
RequestHeader unset Accept-Encoding
ProxyHTMLEnable on
ProxyHTMLExtended On
ProxyHTMLURLMap "/cms/news" "/news" [R]
ProxyPass "/news" "https://mysite.co.uk/cms/news"
ProxyPassReverse "/news" "/cms/news"
This will fetch the content accessed by /news from /cms/news and replace existing links in the news page which refers to /cms/news by /news.
This can be extended by more links and other replacements depending on your needs.
Kirby and its panel is still available at https://mysite.co.uk/cms and https://mysite.co.uk/cms/panel resp.