A VPN in and of itself in no way changes anything. It's just another network link.
the hostnames do not resolve to IP if connected over VPN
That's an issue specific to your VPN and is something you need to address with your VPN team. For client push, the site server must be able to resolve the IP address thus you won't be able to use client push.
installing a client over VPN is anyway different than installing it over LAN?
No, connectivity is connectivity.
Would the client push work over VPN?
Yes, assuming basic network prerequsities are in place like name resolution which it doesn't sound like happens with your VPN clients.
One possible path here is to use group policy preferences to create a schedule task that runs ccmsetup or a script that in turn installs the client agent by calling ccmsetup.