From a quick look at the code, this should be working. As I said, the code handles tele/ and stat/ messages in exactly the same way, so simply substituting "stat" for "tele" should work. Just FYI, this is not the case for other Tasmota devices -- the formats of the stat/ and tele/ messages are very different. I assume I implemented the HP Sensor code this way because it was all the information I had at the time (I don't own any of these devices and was just working off @EWhite's logs/input).
All that said, there are several things to try in debugging this:
1. It could be a simple matter of timing. Since the teleperiod is set to the minimum of 10 seconds, the device itself may be switching the Presence (ST) driver value back to 'Unoccupied' every 10 seconds and you just aren't seeing IoX update to 'Occupied' because of this timing. So first try setting the teleperiod to a higher value, e.g. 30 seconds, through the device's Tasmota console.
2. When the plugin updates the Presence (ST) driver value from 'Unoccupied' to 'Occupied' it also sends a DON command. And it sends a DOF command when vice versa. So even if the resetting back to 'Unoccupied' is happening every 10 seconds by the tele/ messages, you should still be getting these commands for the device. Try writing an IoX program with " 'DR_Occupancy' is switched On" conditions to see if you can detect the changes.
3. Turning on Debug level for the plugin logging and then trying a few times and DMing a plugin log file (not PG3x log) to me would be the logical next step.