execCommand.(insertHTML) not working in Firefox

I’m trying to prototype ideas for the Markdown editor React project, and one thing I really wanted to do was make it so, like in a normal text editor, hitting tab inside the editor pane would insert a tab space rather than tab to the next pane. (Maybe I should give up on that idea, but the reason it isn’t working is still nagging at me.)

I got my solution to work in Chrome and Safari. However, in Firefox, when hitting tab inside the text area, nothing happens at all. The e.preventDefault() code runs, but the execCommand either is not running or not doing its job.

According to this test page, Firefox does indeed support the insertHTML command, so I’m not sure what’s going on here.

My CodePen example is here, and below is the code that’s doing the work:

area.addEventListener("keydown", e => {
  if (insertTabSupport && e.key === "Tab" && !e.altKey) {
    document.execCommand("insertHTML", false, "&#09");

ETA: I should note that with or without my try/catch block, the results are the same. I just included that for older browsers. Removing it does not affect how Firefox is behaving.