These discrepancies cause my standards-compliant software to not function properly with a Stardog endpoint. Is there a workaround? A different endpoint I should be using?
You are correct that Stardog uses separate endpoints for read queries and update queries. But SPARQL Update queries run in their own transaction so it is not necessary to initiate it explicitly. If you have a test case proving otherwise, please share details and we'll investigate.
I probably misunderstood your second question. I see that you refer to the SPARQL Graph Store Protocol and not the update operation in the SPARQL Protocol. In that case your endpoint is /db but still there should be no need for explicit transaction management. We have API extensions for the cases when it's needed: https://www.stardog.com/docs/#_transaction_begin