Well, I have not thought this out in detail, so I may be way off. On the other hand, no one else is answering.
There are a number of threads around here on aspects of this problem, have you done a search on them?
What’s happening to you seems normal to me. Unless you have a specific address in mind, traffic on a subnet is going to stay on that subnet. Broadcast traffic is definitely going to stay on that subnet.
On the network where I work, we have a number of udp broadcasts that we need to send to multiple subnets. The only thing that we have found that will do this is a program called udp-broadcast-relay. I don’t know it this will solve your problem, but it might work if you modified it. See this website: http://www.joachim-breitner.de/udp-broadcast-relay/
Why the two subnets? This might defeat whatever you are trying to do, but if you changed the netmask on both subnets from 255.255.255.000 to 255.255.000.000, it might work. Of course, you won’t have two subnets anymore.