Ok, my configs from the OP were correct.
Just it is was NOT enough to add route to each machine on client's LAN.
It is equally important to configure NAT/redirect firewall rules on the VPN client machine. Same as it is needed in case this client acts as "standard" gateway (with 2 NICs) for its LAN.
As the goal was to connect
192.168.0.0/27 with
192.168.8.0/24, I used these rules (FreeBSD PF):
1. Packets from VPN server LANs translated to the client's LAN:
nat on em0 from 192.168.0.0/27 to 192.168.8.0/24 -> (em0)
nat on em0 from 10.0.0.0/24 to 192.168.8.0/24 -> (em0)
2. Making VPN client act as gateway to VPN server's LAN:
rdr pass on em0 from any to 192.168.0.0/27 -> 10.0.0.1
3. NAT for
tun0 device:
nat on tun0 from 192.168.8.0/24 to 192.168.0.0/27 -> (tun0)
nat on tun0 from any to 10.0.0.0/24 -> (tun0)
nat on tun0 from any to 192.168.8.0/24 -> (em0)