That does seem like it shouldn’t be running based on your logs. Maybe a couple of things you can try:
Use a script filter to see if that will work
Use the current value instead of previous value (but in this case, it wouldn’t handle a scenario where someone changes the Status from something else to Draft)
Curious to hear if you find a resolution or whether it’s something going wrong with the “Is not” filter in your flow.
So only have it trigger on fields that are not the status.
Yes I think its a bug I would have expected the way you are doing it to work, I expect that it is not looking at the previous value properly as the filter happens before you have collected the previous values.