As far as I recall the software renderer (which is used on Windows) doesn’t do AA for int rects and cliprects. I think this is actually the better default but ideally AA should be somehow user configurable. This is why: Unwanted borders when scaling UI with opaque components - #21 by PixelPacker - so as things currently are, using setTransform() and fillRect() or fillAll() does what you want on Mac, but doesn’t on windows. And I want it to not do what you want either way (unless you use fillRect(Rectangle) of course).
I don’t know the current state of affairs of this, but you could try to enable JUCE_DIRECT2D and see if this changes anything regarding AA. Or avoid fills with int rects and fill float rects or paths instead (as you’ve already discovered).