Is there a way to change the face that plays well with font-lock? I
tried `font-lock-append-text-property' but it did not work.


You can set the text property `font-lock-face' instead of `face'. When `font-lock' is activated, it sets up this as a low-level alias to `face' but after that doesn't touch it. Effectively, it allows face properties defined by normal code and by font-lock to live side by side in the same buffer.

    -- Anders Lindgren