after a few unsuccessful tests i managed to get it right. I paste the solution here, if anyone encounters similar issues.
As suggested, I added "route-nopull" in my client config and I have the following scripts:
UP script
#!/bin/bash -e
#remove original 'default'
sudo /sbin/route delete -net default
#add original 'default' but only over local (en1)
sudo /sbin/route add -net -ifscope en1 default 192.168.0.1
#add new default route for VPN
sudo /sbin/route add -net default $6
#add route for VPN
sudo /sbin/route add -host $trusted_ip 192.168.0.1 255.255.255.255
exit 0
DOWN script
#!/bin/bash -e
#remove VPN routes
sudo /sbin/route delete -host $trusted_ip
sudo /sbin/route delete -net default
#restore original 'default'
sudo /sbin/route delete -net -ifscope en1 default
sudo /sbin/route add -net default 192.168.0.1
exit 0
After bringing up the VPN, my routes look like this
Destination Gateway Flags Refs Use Netif Expire
default 10.12.0.5 UGSc 344 0 tun0
default 192.168.0.1 UGScI 26 0 en1
10.12.0.5 10.12.0.6 UH 345 0 tun0
220.X.X.X 192.168.0.1 UGHS 1 830 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 6 57788 lo0
169.254 link#6 UCS 0 0 en1
192.168.0 link#6 UCS 8 0 en1
192.168.0.1 28:4f:54:d4:ab:a5 UHLWI 42 8436 en1 711
192.168.0.255 link#6 UHLWbI 3 27 en1
My traffic goes over the VPN and the apache is serving the pages over the non VPN external IP.
Seams like my problem is solved. Thanks janjust for pointing me in the right direction...