Gitlab project mirroring, questions

I am new to gitlab. I’m quite impressed and will be switching over from a different SCM. I have also decided that the docker self-hosted version of gitlab runs too slow on my linux NAS, so i am going to use it on the cloud. But I would like to backup/export my projects from the cloud to a local machine here once a night just in case anything ever happens to

I see that there is a manual way to export the project, clicking a button on the web form, wait a bit, then click another button to export a tar.gz file. Then I can import that to create a new project on my self-hosted gitlab… I tested it and it works fine.

QUESTION 1: Did it copy or clone the git repo? Or is it still referring to the remote git repo? What is the association between the new imported project & repo and the original repo or any other remotes that I have which were pulling from the cloud repo?

QUESTION 2: I see there is a REST api to possible export projects and IMPORT them locally, so that I could potentially write a cron script to at least export a tar.gz file and keep it here. But the REST api does a lot of other stuff and I was not able to figure out the right thing to do. What is the easiest way to do a simple export of my projects from cloud to locally stored tar.gz file which could then theoretically be used in the future if I ever needed to restore a project, either locally or on the cloud for any reason at all.

QUESTION 3: I saw that when creating a local gitlab project its possible to use OAIntegration in some way. What is that and how does it work and is that a pay-for service?