vget is almost always called with LK_SHARED, meaning the flag (if present) is almost guaranteed to get cleared. Stop handling it in the first place and instead let the thread which wanted to do inactive handle the bumepd usecount.
If this seems too much of a change this can be special cased so that LK_EXCLUSIVE requests ignore it (but without calling VOP_ISLOCKED to figure out what it is, just look at the flag).