How to bind an OpenVPN instance to an interface

The first two rules are not needed, as it was a misconception of mine.
You need rules like you have in lines 3-6 for Fritzbox and TC4400 for the other hosts, but pointing to the VPN tunnels.

I found the reason.

If I delete this script then it only works with IPv4:

cat << EOF > /etc/firewall.nat6
iptables-save --table="nat" \
| sed -e "/\s[DS]NAT\s/d" \
| ip6tables-restore --table="nat"
EOF
uci -q delete firewall.nat6
uci set firewall.nat6="include"
uci set firewall.nat6.path="/etc/firewall.nat6"
uci set firewall.nat6.reload="1"
uci commit firewall
service firewall restart

It requests a public IPv6 prefix on the server side.

This script is not yet suitable for multiple OpenVPN clients.

Who programs such extensions for OpenWRT?

You can bind the interface by adding the dev parameter in the configuration file

--dev tunX|tapX : tun/tap device (X can be omitted for dynamic device.
--dev-type dt   : Which device type are we using? (dt = tun or tap) Use
                  this option only if the tun/tap device used with --dev
                  does not begin with "tun" or "tap".
--dev-node node : Explicitly set the device node rather than using
                  /dev/net/tun, /dev/tun, /dev/tap, etc.

@anon50098793 was right. Everything else can be set in the VPN Policy Routing package.

Problems only made IPv6. For a solution would be nice.