I believe this has to do with how the Write-host is working. You should get what you are expecting if you tell it to process the variable and then include that in the string. This would be done with the Write-Host line becoming like this, noting that the $() syntax is what tells it to process that variable first before doing the write-host/string processing. There's probably a better way of explaining this, but I tested this with your example and it will return "E1: Y21" when you use the Write-Host line below.
Write-Host "E1: $($element[0])"
Chad