Interesting, sounds very similar. I haven't opened a support ticket yet. I ended up working around the issue by using the REST API instead of the Python API.
I found that using the REST API I could get and update item details just by using HttpNegotiateAuth(), but for applying edits to a feature service I needed to get a token and pass it in with the edit request.
# Update item summary and description
update_payload = {'snippet': 'Some text', 'description': 'Some text', 'f': 'json'}
update_request = requests.post(update_url, auth=HttpNegotiateAuth(), data=update_payload)
# Get a token
token_request = requests.post(token_url, auth=HttpNegotiateAuth(), data=token_payload)
tkn = token_request.json()['token']
# Update feature service using applyEdits
edits_payload = {'updates': updates, 'f': 'json', 'token': tkn}
edits_request = requests.post(edits_url, data=edits_payload)
I'm wondering if generating the token for the server could be the issue with the Python API. Doesn't seem like we should need a token since we're using IWA, but when I tried to apply edits without passing in a token I got a 499 "token required" error. I did come across this other post when I was researching this issue that seemed to have some similarities: python API fails with IWA for federated ArcGIS servers.