This is expected behavior, users are unable to be unblocked with a Post Login flow because they are blocked before being logged in, thus preventing the Post Login flow from running.
May I ask what the reason for the blocking is if you still are wanting the users to be able to log in later?
A workaround for this, if you still need to tag a user as “inactive”, could be to update app_metadata with something similar to:
{
“Inactive”: true
}
after 90 days Instead of blocking them, and setting it to false in a Post Login flow, and use that information where you need it.