I first encountered this problem about a year ago and found that it was causing many other people trouble. I recently returned to the problem and found a resolution that I thought I would share in the hopes it will help someone else.
The problem, fundamentally, is that Sun, sometime in the past, implemented a generic UI interface that can be easily changed to fit the target environment--Window, Mac, etc. These Motifs can be globally selected and affect all styles used the in the application/applet. The way they did this, in the case of the JTextPane/JEditorPane, was to modify the default style in the StyleContext object (getAttributeContext()) of the document itself. The pane gets its default settings from the default style context.
This may have made sense to someone, for some reason. Personally, I would have set the defaults in the default StyleContext and not have the UI mess with it at all. But that's just me.
The effect of this was to completly short-circuit the mechanism for using styles the way we want to because the JTextPane/JEditorPane will get its font/color attributes from the StyleContext. Since the UI Motif will resent them no matter what you do, the feature is lost.
My solution turned out to be seems like a hack but actually turns out to be rather elegant because it is encapsulated to one object--StyleContext. I created a subclass of StyleContext and use this to create the default document. This subclass watches the default style and resets it to my values whenever it is changed by something else--such as the UI.
Here is the code. I hope someone finds it useful.