The object to world transform was applied to the result (which was meant to be in world space), rather than the inverse. However, the processing of transforms is more complicated than necessary. Instead of passing around a separate "target transform" that's meant to be used inverted after the boolean operation, just make the input transforms transform the input meshes into the desired transform space of the output (object-local space for the modifier). Pull Request: https://projects.blender.org/blender/blender/pulls/137919