I have now successfully implemented this. The VPN was very helpful because I was temporarily connected directly to the Bitcoin network due to a configuration error.
However, you don't need a VPN for the finished (very simple) setup.
C L I E N T S I D E
Configuration of the Bitcoin Daemon on my local system:
daemon=1
connect=127.0.0.1:28333
discover=0
dns=0
dnsseed=0
listen=0
listenonion=0
SSH Config on my local system (replace strings in capital letters with your own values):
Host NAME
Hostname SERVER_IP
User USER
LocalForward 28333 127.0.0.1:8333
ssh NAME
S E R V E R S I D E
Configuration of the Bitcoin Daemon on my server (replace ONION_ADDR with your own value):
bind=127.0.0.1
discover=0
externalip=ONION_ADDR
listen=1
proxy=127.0.0.1:9050
/etc/tor/torrc on my server
HiddenServiceDir /var/lib/tor/bitcoin-service/
HiddenServicePort 8333 127.0.0.1:8333
/etc/tor/torsocks.conf on my server
TorAddress 127.0.0.1
TorPort 9050
OnionAddrRange 127.42.42.0/24
After you have restarted TOR, you will find your ONION_ADDR under
/var/lib/tor/bitcoin-service/hostname