2D Falling Platform Script Not Working

Soo… I got this script from someone on this website and when i got to test it out it didn’t really work. I’m really new to this idk what i’m doing wrong. The main goal is to get a platform (2D) to fall when the player collides into it, with a delay. I think that i need to get a code that transforms the body type of the object from Kinematic to Dynamic. I got the tag of the object that’s suposed to fall set to “FallingGrass” and its name to “testgrass”. This is the code that i got:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FallingPlatform : MonoBehaviour
{
    public float fallDelay = 2.0f;

    void OnCollisionEnter2D(Collision2D collidedWithThis)
    {
        if (collidedWithThis.gameObject.tag == "FallingGrass")
        {
            StartCoroutine(FallAfterDelay());
        }
    }

    IEnumerator FallAfterDelay()
    {
        yield return new WaitForSeconds(fallDelay);
        GetComponent<Rigidbody2D>().isKinematic = false;
    }
}

you need to assign the rigidbody, use the void Awake function as this is called before the start method. set the rigidbory in the inspector like in the image

public class Falling_Platform_CTRL : MonoBehaviour
{

Rigidbody2D rb;
float DelayFall = 2f; // Delay before platform falls.


void Awake()
{
    rb = GetComponent<Rigidbody2D>(); // Use awake as this is called before start.
}

 void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.tag == ("Player"))
    {
        Invoke("Fall", DelayFall); 
        Debug.Log("Hit" + collision.gameObject.name);
    }
}

void Fall()
{
    rb.isKinematic = false;
    
}

}