When in Normal mode in a Terminal buffer (as in :terminal) there's the Neovim's cursor and the shell's cursor. Going into Terminal-mode forgets your Neovim cursor and you're then using the shell's cursor where you left it.
Can I have it work like standard Vi, where you start inserting where your cursor is (unless not on the current modifiable command-line)? And have I/A take you to the start/end of the command line before putting you in Terminal-mode?
like standard Vi
Vi does not have "a terminal". It's Vim. Also Vim's terminal actually has two modes: "terminal" and "terminal-normal" just like Neovim. The only difference is that Neovim often switches to "terminal-normal" automatically, while Vim expects forctrl-\_crl-n
or such. So I don't quite understand your question: maybe what you want is this?