I've reached out to Salesforce support about this issue and based on their responses, I can confirm:
1) The SLDS documentation is the 'go to' documentation on this topic. Unfortunately, a list of the full and comprehensive changes to the external style-sheets doesn't exist. For example, I have noticed that as of the Spring '18 release, in a Salesforce community, the .slds-button.slds-button--neutral buttons were inheriting the color from the link color specified in the Community branding section (Community Builder | Branding). There is no mention of this anywhere in the documentation.
There are other omissions. For example, the current (pre Spring 18) Rich Content Editor component is being deprecated for a new version. The new version of this component resulted in some carriage returns not being read, so text looked slightly misaligned compared to what Production (winter '18) looked like. There isn't any reference as to what impact using the new Rich Content Editor could be in the SLDS documentation.
One of the ways you can keep in the loop about potential issues is to refer frequently to Known Issues, which seems to be increasing each day up to the release date. That is where I found 3 issues that were related to issues I had found when testing a Community on Spring '18: here, here and here. The unfortunate thing is that you may come across an issue in your testing which has yet to be flagged on Known Issues, and then you spend time analysing why you're experiencing stylistic or performance differences between Prod and full copy sandbox.
The story is bleaker for internal stylings. For example, there are no change logs or documentation for internal Lightning stylings. In my example, the class
slds-form-element__static slds-grow slds-form-element_separator was being added to the fields in standard record detail page (Salesforce authored component). This class is for internal use and not available for general public. This is is the reason why it is not documented in the release notes or change-logs links.
To get a rough idea as to what the internal styling changes are, you can get the app.css from both Prod and Test, then select-compare in Visual Studio code or another text editor.

2) You cannot overwrite internal styles but you can overwrite external styles, of course either in the .STYLE component resource or via custom CSS in Community builder. This however, will result in a frequent adoption of !important overwriting. Using the Lightning Inspector, it is relatively straight forward to get the specific class name of a particular button element etc that you may wish to change the color / styling for.