Any idea how this could happen? Three reviewers have voted to reopen, but the question isn't open yet. No other events in the timeline could have interfered with the review somehow. The expected behaviour is that the review continues, until five people vote to reopen, the question is reopened outside the queue, or three people vote 'Leave Closed'.
A tale of complexity and unintended consequences
The review task was added in response to this edit which you made.
Which is a good thing, generally. That edits can result in the review of a previously-closed post.
There's a check, in the logic that determines whether an edit qualifies to do this, which excludes edits by folks who've also flagged the post. And by "flagged" I mean not just Very Low Quality flags and spam flags, but also close and reopen votes (which internally are just types of flags). The only flag that doesn't result in an edit being ignored is "in need of moderator intervention". The idea here is to avoid taking the actions of someone who is, say, editing vile language out of a post and turning it into an implicit request to see more of that sort of thing.
And this is still all well and good, except for the bit where it doesn't distinguish between flags raised before the edit and flags raised after the edit. Or indeed, flags raised after the edit had already put the question into review.
So what happened here is, you edited the question, and then came back a bit later after the question had entered review and voted to reopen it. And... The system said, "Oh no, same person flagged and edited, can't count the edit" - and now there was no reason to have a review.
But wait! Don't reopen votes normally trigger a review? So what if the edit is no longer valid; there's three votes! Weeeelll... Turns out the logic that checks for votes that would trigger a review has a time-limit on it that's meant to prevent a question from entering review for at least 15 minutes after the first vote is cast, to give things time to happen organically and such.
...And all of the votes came in within 15 minutes. Within two minutes, actually. So at the point when the edit was no longer valid, the votes weren't yet valid.
Thus, the review task became invalid. And since all of the votes happened after the question was already in review, they didn't count either - otherwise, there'd be no getting questions out of review if they got even a single vote, no matter how many people said "leave closed".
...And therein lies the bug: a conflict between two criteria for allowing a question into review inadvertently caused the question to drop out.
So what should we do about this?
Well, we could just ignore flags that happen after an edit. The edit only counts if it happens after the post is already closed, so it'd be a pretty rare occurrence for (for example), someone to edit a question and then decide it not only needed to be closed but also deleted. One might imagine a scenario involving spam or something I guess.
We could also just ignore reopen flags when it comes to invalidating edits. This would allow someone to potentially put a question through review twice if they voted to reopen then, after that failed and their vote aged away, edited. In practice, this would require both patience and precise timing - there's only 5 days after a question's creation where edits work to put a question into review, and aging doesn't start for four days after the last vote... So the question'd have to be closed immediately, then you'd have to cast your reopen vote pretty quickly thereafter, the question would have to go through review promptly, get no more reopen votes for four days, and then you'd have a bit less than a day to make your edit and hope the review went your way... 'cause on day 5, the task would once again become invalid. In spite of this obscure loophole, I kinda prefer this option: it's dead-simple.
Or we could drop the 15-minute delay, or make it based on the time the question was closed instead of when an edit or vote was cast. This is the worst option, IMHO: generally-speaking, you only get one shot in review, so you want to give folks time to make all necessary edits or finish up any discussions in comments before you fire that off.