When creating a lambda with a specific table name, then issuing all needed command with --table-arn leads to a non-working lambda looking for table <function name>Targets instead of the specified table arn/name. The specified table name is created in Dynamo, but lambda will look for <function name>Targets.
Unregistering such a lambda gives an error message saying that <function name>Targets table doesn't exist, while a valid table arn was issued.
Looking at code, it looks like table name and table arn are used by shell scripts to issue the right aws-cli commands, so we have the right names for created lambda, created dynamo table, source, etc. The shell scripts sets TABLE_NAME and TABLE_ARN variables correctly, but no trace of them in lambda js code.