Data source precedence rules have been defined in case multiple data sources are authorized to update the same table or the same table attributes in the CMDB, however the Discovery Source or system-based fields are updated regardless, ignoring these rules. These fields are:
IRE (Identification and Reconciliation Engine) does not reconcile system fields. Hence, by design lower priority datasource is able to update sys-based fields. It should also update the discovery_source field.
You can use a simple payload like the one below to verify that reconciliation is working for non system or discovery source fields. Run the background script code multiple times with different values for serial number and data source.