Looking more carefully at your sample, I think I'd approach 2 in a different way.
I'd create some new noteheads that are headphone noteheads, because when the notehead is on the left-hand side of the stem, you want the headphone, rather than the black notehead, to touch the stem. But that is also doable, and the notehead used is easily tweakable. You could start with the Gonville font, which is defined in python and is freely licensed (
https://www.chiark.greenend.org.uk/~sgtatham/gonville/), and you can either modify the python or just edit the font with a font editor. Or you could add new noteheads to the Feta font. Your choice. Again, both very doable.