/var/db/.com.apple.iokit.graphics
is the configuration file for displays on macos. The entries are not at all labeled, but in my experience a new monitor will be on the bottom of the list. Each entry is structured as follows:
<key>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@2/display0/AppleDisplay-6b3-27ae</key>
<dict>
<key>cyuv</key>
<integer>268435456</integer>
<key>pscn</key>
<integer>10000</integer>
<key>startup-timing</key>
<data>
AAAAAAAAAIAJMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgP4hCgAAAACA/iEKAAAAAID+IQoAAAAAgAcAAGoAAAAIAAAAIAAAADgE
AAAnAAAAGQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAIAAAAAAAAAAgACAIAAAQAAAAAAAAAAAAAAAAAAAAAA
</data>
<key>version</key>
<integer>2</integer>
</dict>
The pcsn
key and following integer are overscan. My first monitor had some value besides 10000, and changing the value to 10000 fixed it. I tried this with my second monitor and it didn't work, so I just deleted the last few entries. Either method requires a restart.