проблема решена, достаточно тупая ошибка. Я использовал OnCollisionEnter, но ведь игра то 2Д!
итоговый код на случай повторения ошибки кем-то:
private void OnCollisionStay2D(Collision2D other)
{
if (other.gameObject.tag == "floor") isGrounded = true;
}
private void OnCollisionExit2D(Collision2D other)
{
isGrounded = false;
}