One solution (albeit, a bit of a hack) that I found is to place a wireless magic keyboard over the top of the built-in laptop keyboard.
If you place it in the right spot, it doesn't press the underlying keys (although see Karabiner information below to stop this issue).
As someone who despises the low action of the butterfly keys, this has the double benefit: (1) it restores traditional escape and function keys, and (2) it provides the awesome keyboard experience of the magic keyboard. It also means that you can use the trackpad.
It can also help to use Karabiner to disable the built-in keyboard when external keyboards are plugged in. This overcomes the problem of accidentally activating the keyboard underneath when pressing firmly on the magic keyboard.
For details on how to do this, see this post: https://apple.stackexchange.com/a/235266/11747 That said, I'm not a big fan of virtual keyboards, as I worry that they induce lag.