I think if you override the NoteHead print-function to
\override Voice.NoteHead #'print-function = #Text_interface::print
and use
\override Voice.NoteHead #'text = #(markup #:circle #:musicglyph
noteheads.s2))
perhaps along with some #:raise or #:translate or extra-offset, you can
achieve
Take a look at the example called boxed-stencil.ly in the Tips and
Tricks document. There is a function called make-stencil-circler
that you can use the same way as make-stencil-boxer.
If you can't figure out the exact \override command you need, you
can find it at the end of this email, but I