When calling put_submodel_element_by_path_submodel_repo, the authentication data is lost somewhere inside the function chain. As a result, the request is sent without credentials, and the server rejects the update operation.
GET requests work because they do not require authentication, but both PUT and PATCH fail due to missing credentials.
While debugging and stepping into the function calls, the credentials object is still present at the beginning but becomes empty after several nested calls.
This indicates that authentication data is not forwarded correctly somewhere inside the internal function chain.