OpenVPN server cannot ping client IPs

Solution 1:

You need to remove one of your "push" statements.

The server needs to push the announcement of its own subnets to the client so the client knows to route all 192.168.4.0 traffice through the VPN tunnel.

But you are also telling the client "if you see packets destined for 192.168.2.0, send them over the VPN". This will cause the server-to-client traffic to get lost in the VPN and never make it out onto the client network.

Remove that second push line, and you should be OK.