Thank you for your offer to help me! 
To answer your questions:
Opodsync: yes, it provides a browser UI in which you can look at your subscription and do minimalistic management. But in the meantime I was told that it is meant to be run in the root of a virtual host. That could be the reason why my experiments failed.
Karadav: It too provides a UI to manage your files, and it comes with a system service that can be controlled by systemd. The port it listens to can be chosen at will, of course collisions must be avoided. I tried the exact same simple structure as the one above shown for Radicale with just another location, of course, but it didn’t turn out reliable: every other page was “not found” or some other error occurred. Which is a bit strange, because there’s even one video (yes: exactly one!) on YT by someone called “MMC Captain” who uses the same setup in his video and his setup seems to work, while mine did not.
Both of these apps need a “config.local.php” inside their working directory, where the exact URL of the server is to be set, that will be re-sent to the browser. Without this setting, the browser will try to connect to “localhost” at some point.
Radicale: It uses a simple config file where its storage location is defined. Its port can also be set at will, and you can also connect directly to that port and use the CalDAV service.
So, below is the config I tried so far. Please don’t bang your head onto the table when you look at it, remember: I am a complete Nginx newbie! 
My solution now is three different host files, each one defining a virtual host listening on different ports. Although that setup is working, I want to use only one host file listening on one port, when I open the server to the outside later.
You may ask yourself: “Why does this guy want to use Nginx as a reverse proxy anyway??”
It’s the certificates: AntennaPod, the Android app that I want to use with Opodsync, does not accept self signed certs. So I need a cert by LetsEncrypt. That’s easy, and by using Nginx, there will be just one app (Nginx) that deals with the certs and the encryption to the outside world and no other app needs to be configured for this.
Next question: “Why does he not simply use Nextcloud, that has all in one??”
Yes, that is true: NC provides CalDAV, CardDAV, and WebDAV service, and there is even a plugin app that provides podcast synching.
But sadly, NC is a super heavyweight! You need some serious computing power to make it work smoothly and to get a satisfying performance out of it. And it has lots and lots of dependencies, that need lots of space and RAM and CPU power themselves. That’s why I want to try these three lighter apps.
my-config
server {
listen 443 ssl;
server_name my.server;
include snippets/my-certs.conf;
# radicale:
location /radicale { return 301 $scheme://$host/radicale/; }
location /caldav { return 301 $scheme://$host/radicale/; }
location /radicale/ {
proxy_pass http://localhost:5232/;
proxy_pass_header Authorization;
proxy_set_header X-Script-Name /radicale;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
error_log /var/log/nginx/radicale.error.log info;
}
# karadav:
# location /karadav { return 301 $scheme://$host/karadav/; }
# location /webdav { return 301 $scheme://$host/karadav/; }
# location /karadav/ {
# root /mnt/data/karadav/www/;
# proxy_pass http://localhost:54321/;
# proxy_pass_header Authorization;
# proxy_set_header X-Script-Name /karadav;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Port $server_port;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header Host $http_host;
# error_log /var/log/nginx/karadav.error.log info;
# }
# opodsync:
# location /opodsync { return 301 $scheme://$host/opodsync/; }
# location /gpodder { return 301 $scheme://$host/opodsync/; }
# location /gpodder/ { return 301 $scheme://$host/opodsync/; }
# location /opodsync/ {
# client_max_body_size 100M;
# client_body_buffer_size 1024k;
# root /mnt/data/opodsync/server;
# index index.php;
# location ~ \.php$ {
# try_files $uri $uri/ /index.php;
# include fastcgi_params;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_param REDIRECT_STATUS 200;
# fastcgi_pass unix:/var/run/php/php-fpm.sock;
# }
# error_log /var/log/nginx/opodsync.error.log info;
# }
}