@MontyJ
After re-rereading some of your previous post I finally understand (hopefully) something about your "complicated" setup.
You use the QNAP Operating System "QTS" with Ubuntu "on top".
Where is COPS? In the QNAP webserver (/web/cops) or in a webserver (apache) in Ubuntu (/var/www/html/cops) and where are the Calibre libraries located?
If you access COPS locally from your PC (http://<internal-IP-QNAP>/cops) does it work?
If your QNAP has a screen attached to it and can run a browser can you access COPS (
http://localhost/cops)? Or use remote access
From where is PageKite.py running and started? From QTS or from Ubuntu and with what user (root, admin, local-QTSuser, local Ubuntu-user)?
Then without fiddling to much with pagekite.rc (located in what home directory, QTS or Ubuntu /home/user?) where does PageKite "land"?
If you use port 80 it should "land" on
http://localhost .
With
http://mydomainname.pagekite.me/cops you should connect to
http://localhost/cops
This does not answer your Q1, but ..........
With regards to Q2: You cannot change ports in COPS, but you can change ports in the webserver. But with PageKite there is no need. There are no ports open in your router for port forwarding. And that is quite secure!

Setting basic authentication (always a good idea) ca be done in COPS and or the webserver (.htaccess). Virtual hosts are also possible but not needed for your setup.
I hope this helps you think about a solution to your problem(s). First fix Q1 then Q2 is easy.