Hi Jonathan,
I can't speak definitively about the backend workings of the API, but I can say that I share your experiences here. I have had cases where I've attempted to update a field via a PUT that can not be updated, and I received a failure response and message. However, I've also tried to update fields that simply return a 200 with no change, as you describe. I've found this is also the case if one provides fields that are not present on the data object at all - so I would suspect the backend code is simply scanning for expected fields, and ignoring any it does not expect to receive.
Listing the fields you're attempting to update may allow some to comment on those fields.
As for this group - I've had mixed results. I've gotten some good responses from Lightspeed support here, though at times it's in the form of a ticket that's opened for me, so that isn't necessarily visible to others. I've had really good results with contacting support with API questions directly. I know Lightspeed also has another group discussion platform in the works, but I'm not sure it's in full use yet - others could provide better insight to that.
Have a good one.
Justin