For a long time I've been looking for a good and easy solution for Emacs modifier and other keys being dropped when using the terminal. Not sure why it took me a long time but https://github.com/CyberShadow/term-keys did the trick!
That's really it! I just wanted to share the win here. This matters in case you have to do full remote development, considerably more than a few edits and commands with TRAMP which is also a fantastic builtin utility and daily driver for me.
One thing it doesn't do, and I'm not sure it can on the MacOS terminal emulator is differentiate TAB and C-i which matters for folks that use org and evil. My solution was to rebind org-cycle to "q" (default is vim macro recording which I don't typically use).
Anywho that's it, just wanted to post a success story here.