That does sound kind of like a missed opportunity. Not sure why it's not like that.
The closest neovim equivalent I can think of is :term <command>
`:term` is much more intrusive; you can't just `:!foo` and get on with what you're doing. For one thing, you can't `:term foo` with a modified file, which is not an unusual state when you're editing.
Why wouldn't you? Vi's `:!` is simple and general.
If neovim has an equivalent, it must be obscure enough that no one has mentioned it yet, and it seems to me that the obvious thing to do would be to make `:!` do it by default, and put neovim's current `:!` behaviour behind a `compatible` flag.