For anyone debugging this issue, I have another piston that runs every hour on the hour. Here are the logs from around the time switch to DST. It looks like it took a few cycles for the DST time to settle down to be correct.
3/11/2018, 8:59:59 AM +206ms
+1ms ╔Received event [Home].time = 1520780400000 with a delay of -794ms
+276ms ║RunTime Analysis CS > 31ms > PS > 114ms > PE > 131ms > CE
+279ms ║Runtime (37868 bytes) successfully initialized in 114ms (v0.3.000.20180224) (276ms)
+280ms ║╔Execution stage started
+308ms ║║Comparison (enum) off stays_away_from (string) on = true (7ms)
+311ms ║║Condition #5 evaluated false (17ms)
+312ms ║║Condition group #2 evaluated false (state did not change) (19ms)
+316ms ║╚Execution stage complete. (37ms)
+319ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 10:00:00 AM MDT (in 3600.476s), with 1 more job pending
+325ms ╚Event processed successfully (325ms)
3/11/2018, 6:59:59 AM +211ms
+0ms ╔Received event [Home].time = 1520773200000 with a delay of -789ms
+300ms ║RunTime Analysis CS > 25ms > PS > 115ms > PE > 159ms > CE
+303ms ║Runtime (37868 bytes) successfully initialized in 115ms (v0.3.000.20180224) (302ms)
+305ms ║╔Execution stage started
+337ms ║║Comparison (enum) off stays_away_from (string) on = true (5ms)
+341ms ║║Condition #5 evaluated false (20ms)
+343ms ║║Condition group #2 evaluated false (state did not change) (21ms)
+348ms ║╚Execution stage complete. (44ms)
+351ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 9:00:00 AM MDT (in 7200.439s), with 1 more job pending
+358ms ╚Event processed successfully (358ms)
3/11/2018, 4:59:59 AM +200ms
+1ms ╔Received event [Home].time = 1520766000000 with a delay of -800ms
+506ms ║RunTime Analysis CS > 28ms > PS > 147ms > PE > 330ms > CE
+508ms ║Runtime (37868 bytes) successfully initialized in 147ms (v0.3.000.20180224) (506ms)
+510ms ║╔Execution stage started
+539ms ║║Comparison (enum) off stays_away_from (string) on = true (6ms)
+542ms ║║Condition #5 evaluated false (17ms)
+543ms ║║Condition group #2 evaluated false (state did not change) (19ms)
+547ms ║╚Execution stage complete. (38ms)
+550ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 7:00:00 AM MDT (in 7200.251s), with 1 more job pending
+558ms ╚Event processed successfully (557ms)
3/11/2018, 1:59:59 AM +206ms
+0ms ╔Received event [Home].time = 1520758800000 with a delay of -795ms
+255ms ║RunTime Analysis CS > 30ms > PS > 102ms > PE > 123ms > CE
+257ms ║Runtime (37868 bytes) successfully initialized in 102ms (v0.3.000.20180224) (256ms)
+258ms ║╔Execution stage started
+293ms ║║Comparison (enum) off stays_away_from (string) on = true (10ms)
+298ms ║║Condition #5 evaluated false (24ms)
+299ms ║║Condition group #2 evaluated false (state did not change) (27ms)
+306ms ║╚Execution stage complete. (47ms)
+309ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 5:00:00 AM MDT (in 7200.486s), with 1 more job pending
+317ms ╚Event processed successfully (316ms)
3/11/2018, 12:59:59 AM +257ms
+1ms ╔Received event [Home].time = 1520755200000 with a delay of -744ms
+364ms ║RunTime Analysis CS > 39ms > PS > 150ms > PE > 175ms > CE
+366ms ║Runtime (37868 bytes) successfully initialized in 150ms (v0.3.000.20180224) (364ms)
+368ms ║╔Execution stage started
+393ms ║║Comparison (enum) off stays_away_from (string) on = true (2ms)
+396ms ║║Condition #5 evaluated false (13ms)
+398ms ║║Condition group #2 evaluated false (state did not change) (15ms)
+402ms ║╚Execution stage complete. (35ms)
+405ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 3:00:00 AM MDT (in 3600.339s), with 1 more job pending
+413ms ╚Event processed successfully (413ms)
3/10/2018, 11:59:59 PM +418ms
+1ms ╔Received event [Home].time = 1520751600000 with a delay of -582ms
+352ms ║RunTime Analysis CS > 31ms > PS > 126ms > PE > 194ms > CE
+355ms ║Runtime (37868 bytes) successfully initialized in 126ms (v0.3.000.20180224) (353ms)
+356ms ║╔Execution stage started
+392ms ║║Comparison (enum) off stays_away_from (string) on = true (8ms)
+402ms ║║Condition #5 evaluated false (27ms)
+404ms ║║Condition group #2 evaluated false (state did not change) (30ms)
+411ms ║╚Execution stage complete. (55ms)
+415ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 1:00:00 AM MST (in 3600.169s), with 1 more job pending
+424ms ╚Event processed successfully (424ms)
3/10/2018, 10:59:59 PM +187ms
+1ms ╔Received event [Home].time = 1520748000000 with a delay of -814ms
+380ms ║RunTime Analysis CS > 31ms > PS > 256ms > PE > 93ms > CE
+382ms ║Runtime (37867 bytes) successfully initialized in 256ms (v0.3.000.20180224) (380ms)
+384ms ║╔Execution stage started
+414ms ║║Comparison (enum) off stays_away_from (string) on = true (9ms)
+417ms ║║Condition #5 evaluated false (19ms)
+418ms ║║Condition group #2 evaluated false (state did not change) (21ms)
+423ms ║╚Execution stage complete. (39ms)
+425ms ║Setting up scheduled job for Sun, Mar 11 2018 @ 12:00:00 AM MST (in 3600.389s), with 1 more job pending
+433ms ╚Event processed successfully (432ms)
Here’s the piston.