Note that for each linked collection, the linking process created a new empty and sortof "parented" the collection to that empty. Presumably that's useful since it allows rotation and translation of the collection within the destination (i.e. "consuming") .blend file, but it seems to be offsetting the empty based on the origin of the source .blend file's axes.
In other words, since "A-Collection" was offset in the source file at x=0, y=-4, and z=-2, it gets imported/linked with a parent empty offset from its geometry by offsets x=0, y=+4, and z=+2.
Is there any way to (1) have it create the empty at the bounding box center (or similar), or (2) manually change the offset of the empty, post-import, to be something more reasonable?
I know I could create a new empty in the consuming file, set its parent to be the linked collection, and use the new empty for rotation, but that approach has the downside of having to find and select the new empty every time I need to rotate, rather than just selecting the collection itself.
edit: Another workaround is to move the linked object to the origin, right-click that linked collection instance in the layers hierarchy, and select "Instance to Scene" to create an instance of the instance. That approach leaves behind the original instance as an unwanted artifact, but it could be moved into a "throwaway" collection and hidden. (still not a great approach, though)