You should be able to setup a static route on your router to solve this until Emby supports another method. This is what I do to enable a separate VLAN for IoT devices but still enable Emby to cast to them from the main VLAN.
The reason that the others are working is that both the casting and receiving device have a route to the internet cloud server that the services uses and that works as a middleman. The different VLAN devices aren't talking directly to each other but through the proxy of the cloud service you are using (Amazon Music or other). You need to replicate something similar on your LAN.
A possible alternative to making a static route, if you don't have control to do a static route, might be to setup a second virtual interface on your Emby server and assign that one to the second VLAN and the internally on the server route that to Emby also? I've never tried routing two to the same Emby instance so you'll have to experiment if Emby will track and address the return packets properly.