openvpn server not showing traffic using tcpdump

If you use client-to-client option, there is no way to see it with tcpdump. In this case OpenVPN doesn't forward any traffic to the kernel. It receives a packet, processes it and sends to another client, but since it is not destined for the server system nor routed through it, there is no need to emit it to the tun device.

You can see if traffic is inside OpenVPN by using a management console and a high verbosity level (6):

In server config file:

...
management localhost 7505
...

Use:

$ telnet localhost 7505
...
>INFO:OpenVPN Management Interface Version 1 -- type 'help' for more info
log on
SUCCESS: real-time log notification set to ON
verb 6
SUCCESS: verb level changed
>LOG:1612639797,D,XXXX/XXX.XXX.XXX.XXX:XXXXX UDPv4 READ [XXX] from [AF_INET]XXX.XXX.XXX.XXX:XXXXX (via [AF_INET]XXX.XXX.XXX.XXX%XXX): P_DATA_V2 kid=2 DATA len=XXX
>LOG:1612639797,D,XXXX/XXX.XXX.XXX.XXX:XXXXX TUN WRITE [XXX]
>LOG:1612639797,D,XXXX/XXX.XXX.XXX.XXX:XXXXX TUN READ [XXX]
>LOG:1612639797,D,XXXX/XXX.XXX.XXX.XXX:XXXXX UDPv4 WRITE [XXX] to [AF_INET]XXX.XXX.XXX.XXX:XXXXX (via [AF_INET]XXX.XXX.XXX.XXX%XXX): P_DATA_V2 kid=2 DATA len=XXX
...
log off
SUCCESS: real-time log notification set to OFF
verb 3
SUCCESS: verb level changed
exit
$

(In this case I had to write 'log off' blindly, because output was completely disturbed by the real time log. I've done this on busy server. But it worked anyway.)

See man openvpn for details. Note, everything will also reach a server log file if it's used, and for a high amount of traffic there will be very large log. AFAIK you can even made it to log packet data in hex form.