As you said, the official REST API only support OTC orders, not DMA orders. I cannot trade with OTC orders because I trade small cap equities, which can have enormous spreads.
Furthermore, as I pointed out, /workingorders/dma/equity was an endpoint that used to work from 2018 until around 2023, without any problem. Here is an example of it working:
INFO:place_order_PY:Authenticated to IG session for EC.D.ATOFP.CASH.IP order
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/workingorders/dma/equity HTTP/1.1" 200 53. (Notice the 200, not 404 code.) I was also able to delete a working/dma/equity via the deal ID, and update it.
If I place a DMA equity order via L2, then deal ID is created, which shows that at least DMA equity orders have not been eliminated. I have read about similar situations where are URL for endpoints is not recognized and no explanation is given. You will never find a reference in the REST API for DMA equity orders enpoints because it is bespoke code, and because there is little demand for it, For me, it's probably a deal breaker.
Anyway, thanks for your response. I believe I have to go back to the REST API team, who have already said "this is not our responsibility". It is possible that a decision was taken to remove the workingordres/dma/equity endpoint. I rule nothing out.