I have mt-daapd listening on 0.0.0.0:3689; I have my WiFi card on 10.0.30.0/24, and my OpenVPN server on 10.0.40.0/24. My Roku Soundbridge on 10.0.30.0/24 sees the mt-daapd server fine, and it also sees iTunes running on my laptop on 10.0.30.0/24. However, iTunes doesn’t see mt-daapd on 10.0.40.0/24. I have a firewall blocking all but the Soundbridge off 10.0.30.0/24, but since I have my laptop on 10.0.40.0/24 and absolutely no restrictions on the VPN network, why can’t I see the server in iTunes?
Because your vpn isn’t passing multicast traffic. You can make it do so, I believe — I’m pretty sure I saw some stuff on doing just that, but I believe it requires running some sort of extra routing stuff on the server end.
The other alternative is to run a mdns proxy on your side. There are a couple out there, check the FAQ page for tunneling over ssh. I realize that isn’t what you are doing, but the stuff on mdns proxying still holds.