I’ve finally gotten to the bottom of this.
When a timer is first started, the sensor shows as below:
However, if the timer is called again before timing out, the remaining time does not update to the preset value and once the first call is made and the preset time is reached the sensor shows as below and the time decrements, as if the timer has finished, which it has not:
It will stay this way until HA is restarted or automations are reloaded.
In all other respects, the timers work as described.
The code in my first post will reproduce this.
How do I report this bug for fixing?