I don't think that witness is used to generate the address, since older wallets shouldn't be able to download witness data, but would still be able to send to segwit addresses.
Also, you need to look at the output of the transaction that was referenced in that first input, I believe, since coins aren't spent from addresses, but from unspent transactions. Addresses are there just for humans.
The output of that transaction should contain the address you are looking for (I think).