If the variable substitution wasn’t locating the relevant variables it would generally log a message about that.
e.g.
12:51:01 Verbose | Performing variable substitution on 'C:\Octopus\Applications\Cloud Poll\Dev\settings\1.0\settings.ini'
12:51:01 Verbose | Parsing file 'C:\Octopus\Applications\Cloud Poll\Dev\settings\1.0\settings.ini' with Octostache returned the following error: `The following tokens were unable to be evaluated: '#{DirectConnection}', '#{DBServer}', '#{DBPort}', '#{DBName}', '#{DBUserName}', '#{DBPassword}', '#{Protocol}', '#{DB_SSL_CA}', '#{DB_SSL_CERT}', '#{DB_SSL_KEY}', '#{SSLCipherList}', '#{Compress}', '#{Port}', '#{LogConnection}', '#{LogError}', '#{LogTrace}', '#{Buffer}'`
The ordering of the actions in your log seems to be off. It is replacing the variables within the settings.ini file in the custom install folder and then copying the contents of the package into that location.
I think the Target Files field within your step might be misconfigured. If you added the full file path of the custom directory to that field, it would explain the odd behaviour.
Would I be correct in thinking you have something like this configured?
The reasoning is that the order of operations extracts the package to the Tentacle home folder (default C:\Octopus\Applications), performs the variable substitution on the files there and then copies the entire contents to the custom installation directory.