I can't reproduce the error, it works perfectly here, either with the 'colour as displacement' function or just with displacement enabled in the simple shape.
Rotating the shape shader turns each instance of the shader on its array-grid position, while rotating the array shader rotates the entire grid, just as I'd expect.
The shape shader's 'position key' doesn't even seem to make a difference, I thought it might but apparently not.
As for displacement offset, the offset must be added in the shader applying the displacement, if the 'colour as displacement' optiom is checked offset should be added in the array shader, if it is unchecked and the shape shader is adding its own displacement the offset should be added to the shape shader.
Unless I'm missing something, I can't see where the problem is...
An option to rotate around the array centre, instead of just the bottom left corner, would be good, maybe you're expecting the array to be turning around its centre and because it isn't and rotates from the corner it seems like rotation doesn't operate correctly? I can't think of anything else.