Ok I fixed it with this one:
#set($listSize = $OpportunityList.size() - 1) $!OpportunityList.get($listSize).fieldName
The only case where it won't be working is when OpportunityList is empty (but this can't happen in my case).
Hope this helps!
Math operators are technically unsupported by the VTL parser (which is why you'll see something like $variable-1 break while $variable - 1 with spaces works in certain cases). It's kind of dumb luck whether the syntax will make its way to the Java level intact.
So you should use the $math object instead. This is the last item in the ArrayList: