How does the OS + hardware support multiple screen resolutions and multi-display?
Any hardware in the graphics card is fixed.

No, the storage of a graphics card is fixed. How that storage gets used, particularly on any semi-modern graphics card, is flexible.
Essentially, what a graphics display device has is a mechanism for being told, &quot;the bytes of video memory starting at address X is in format Y and size Z; send it at the next vblank period to display device W&quot;. Really old graphics cards had specific memory structures for holding framebuffers, which imposed strict limits on how things could work. But that hasn't been the case on PCs for a good decade at least.
There may be limitations on how many display devices a particular piece of hardware could hypothetically output to, or the sizes and formats which the hardware can use. Some hardware devices may only be able to use non-virtualized GPU addresses (which I'd guess is why NVIDIA has special memory types for allocating render targets) or somesuch, but even that is a matter of the user interface, not what the internal hardware is doing. As far as the display device's output is concerned, it could use more or less any GPU memory address.
So, what happens when you plug in a new display device? The OS allocates a framebuffer's (or two) worth of video memory for that display device's video output. If you change the resolution of a display device, the OS allocates a differently-sized slice of memory and frees the prior framebuffer allocation. And so forth.