Hi,
So there is a better way to do it (thanks for saying that OpenBSD does work, their way seems good). However, I don't know how to do this myself, so I have filed it as a bug - kern/51231, in case anyone wants to pick it up. Adding it as a quirk (or hard coding mode) will probably fix things too as a temporary workaround for just your case.