The solution was to Delete and recreate my custom docker network.
Stop all containers
docker stop $(docker ps -a -q)
Remove the custom network
docker network rm <YOUR_NETWORK_NAME>
Recreate the network
docker network create -d macvlan --subnet=<YOUR_SUBNET> --gateway=<YOUR_GATEWAY> -o parent=br0 <YOUR_NETWORK_NAME>
Restart unraid
For me unraid was quite unhappy. It failed to mount an unassigned device, which caused the docker engine to fail to start.
Restart a 2nd time.
Restart each container
After this my network existed as expected (same as before), but the docker network was now accessible from br0.
Unraid managed containers:
I had to edit each container, change it's network to none, and then back to my custom docker network (Only one save).
Compose managed containers:
I had to down each stack, and then I could up it again. Some stacks with complex network configurations had additional fiddling.
After the above steps, I can reach containers on my custom docker network from their br0 forwarded ports/as expected.
Other notes!
I see this in my logs:
kernel: bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
May 16 11:03:11 ms
I wonder if it's related to the behavior change, or if after some part of unraid updating I just had to recreate my docker networks.