These Computed Field Expressions can be quite tricky - and even trickier to debug - and 9 times out of 10 it does end up being something silly I didn't read exactly as it was intended, so I feel your pain!
So the right computed expression for what you want depends on the types of the two fields.
If both of the fields are of type Date, like so:


then this expression:
timeBetween(customField[1], customField[2], "minutes")
// 1 and 2 in my particular tracker
should work for you:

I was able to replicate your error of "unable to parse date [valid-looking date]" with your expression, and it happens because we're passing something that has a value of type Date - the content (value) of the custom field - to the function named Date, but Date the function expects a Strins (text) to be passed to it - and for them to be in a particular format.
So when it get's something that is not a String (text), Codebeamer does it's best and converts the non-String (in this case a Date) to a String (text) - which when a Date is converted to a String (text), it defaults to this format:
EEE MMM dd HH:mm:ss zzz yyyy
// "Fri Apr 04 00:00:00 UTC 2025" for example
which unfortunately not a valid format for Date the function, which for absolute dates only accepts this format:
yyyy-MM-dd[ HH:mm[:ss]]
// "2025-04-04" or "2025-04-04 00:00" or "2025-04-04 00:00:00" for valid examples
Of course if the fields are of type Text, then what you have should work, but based on what you have and the fact it's not working, I'd doubt that's the case.
Whenever I have concerns or doubts about the incorrect field being used, I attempt accessing them via their Label, be that via their camelCased versions:
timeBetween(plannedStart, plannedFinish, "minutes")
or via their literal versions:
timeBetween(this["Planned Start"], this["Planned Finish"], "minutes")
Hopefully that works for you - or at least gets you closer to getting this computed field working for you! If not, feel free to reply with any additional details and I'm sure we'll get it figured out!