Have you tried WezTerm yet? It also uses lua for writing its configs which makes it highly customizable.
I've switched to it from iTerm2 a couple of years ago and gradually added more and more to my config and it's super powerful.