A requirement for SCIM endpoints to work with Azure AD provisioning is the ability to provide responses within 60 seconds. It sounds like you are not meeting that requirement and the connection is timing out.
As to 5 + 6, I can't quite recall which of two behaviors it is - it's either that the failure in 4 triggers AAD Provisioning to record that it needs to create a new user but it does not do a check on the future retry attempt, or if it is doing a GET prior to 5, the body of the response is not correctly indicating that a matching user exists.
I'd suggest improving performance so that you can meet the 60 second response requirement and that should then clear up if it's directly caused by the timeout in 4, or if it's a secondary issue.