Hi @PaulKortman, you're definitely not crazy! I've come across this behaviour, too.
When looking at the value mappings (that you're calling shortcodes here), both double underscores __ and square brackets [] denote nested values. Names after __ are nested single values and names after [] are nested arrays (what typically we call line items).
As a general rule, what we'd want to see is that any time a nested value could be an array, it should be presented as such with [], even if it only has one item. The problem is that I've seen some app integrations that when only receiving a single item for an array don't wrap that single item in an array, so we end up with __ instead.
If we're seeing an array value that doesn't look like an array in Zapier when there is only 1 item, we should be creating a bug report for that issue. If the app giving this data is public, please let us know by submitting a support ticket so that we can do that for you.
In the meantime, the solution would be to map both possibilities into the field you're sending the value to in the Zap. If the mapped value is usually {{123456__value_name[]Item}}, then you'd want to also map {{123456__value_name__Item}} into the same field so that whichever one comes through will be sent to that Step in the Zap.