You’ve stumbled upon the process I think most of us take to restore with the Docker container.
But another approach you can take is to mount a script or scripts to /etc/cont-init.d. These scripts get executed inside the container before openHAB is started. So you could put the backup zip file somewhere and have a script which executes /openhab/runtime/bin/restore /path/to/backup.zip to restore the backup.