Note that this setup is only viable when one side is behind NAT. Otherwise you can specify DNS directly in GRE settings with ipsec-secret starting from 6.45.1.
The bridge on server side acts like a loopback interface on which the internal address is configured used for GRE tunnel communication. If enabling keepalive makes the tunnel not-running, then the tunnel is not running in the first place and probably something is not configured correctly.