I was having a similar issue where the Disarm on Arrival automation would not disarm the STHM. (I’m on Android.) Here’s how I fixed it.
My automation was created by the migration wizard, as I just recently migrated from Classic. I was rooting around the IDE and noticed that there are two entries for my phone, one as a placeholder and one as a mobile presence device. (I only remember the placeholder when looking before, so the mobile presence entry is either new or I missed it. I found it this time by sorting.)
In any event, I have 2 devices with the same name. In the Disarm on Arrival automation, I selected the “Who” to edit it and discovered my identical devices. I unchecked the one that had been checked and checked the other one, and the automation now works. I suspect that the automation was using the placeholder device and not the mobile presence devices and that was causing the automation to fail.
(As an aside, prior to discovering this, I also went into the Advanced Options for the Location mode and turned on the precondition. I haven’t turned it off as of yet, so I have no idea if that’s absolutely required or not.)