That seems sane at first glance. I have a message out to some of our devs more familiar to confirm.
The fix you integrated initially (this change) was a fix for the exact same repro you’re describing, and we haven’t seen the issue anymore in 5.5.
That file hasn’t changed much over the last few years so it may be worth diffing it between 5.5 and 5.5.4 to see if there are any other one-line changes you’re missing.