Return product ID, if it is specified in a form
It looks like your code would benefit from a few well-chosen utility methods. It also looks a bit 'stringly typed': things would be much easier if you could store that product ID in an integer field or property in the first place. But it's difficult to tell whether that is possible without more context.

A reusable method that can fetch a specific value from a filter string would have the biggest impact. A method that makes it easier to fetch specific fields from a form might also be useful. And don't forget about the ?. operator. With those, your code can be rewritten as following:

public int? GetProductIdFromFormIfAny(JObject form)
{
    // Returns null if no matching field is found:
    var productsField = GetFieldForTable(form, "Products");

    // Returns null if the given filter is null, or if it does not contain the specified key.
    // Note that the 'magic' index 1 is replaced by a more descriptive key name:
    var productIDValue = GetFilterValue(productsField?.DataLookupFilter, "Product_ID");

    // Returns null if the given string is null or not a valid integer:
    return int.TryParse(productIDValue, out var productID) ? productID : null;
}


I can't tell whether this is exactly what you need - maybe you'll want an exception to be thrown if a filter is malformed, for example - but it should give you some ideas.