I think this is just a programming thing. They probably just check sequentially if any player reached a victory condition when a turn ends. And when a check is true they stop checking and that player wins. It is simply the easiest way to do it in a programming languaje.
Probably FXS just never considered your case as a possibility, so they did not took it into account in the code. Or maybe they did consider it, but coded it the easy way for time reasons and put it into a list of things they should do. Then someone assigned a low priority to the issue, and never got time to be solved. This is how software works.
However this would be very easy to fix, I recomend you to to put this in the bug section. I dont think they will ever fix it. But who knows.