Existing practice follows Postel's Law: "Be conservative in what you do; be liberal in what you accept from others."
In this case, it means your plugin's documentation should show correct usage, but it should tolerate poor usage. The wisdom of this approach should be obvious from studying the success of HTML vs. every other hypertext system that came before or has been invented since. Most of the failures were very bondage-and-discipline style designs, where the smallest error caused the document to be unreadable.
Just as people regularly write bad HTML, some of your users are likely to pass you bad input. Say you have a Boolean property, documented to take "true" or "false". What if you get 1 or 0? Should it crash, or just cope? Postel's Law says, cope. What if you get -1? Again, cope, such as by choosing to use C's rule that nonzero is "true". Getting to your specific question, if the Boolean property is documented as read-only, and someone gives it a value, your plugin should just eat it.
All this special case handling means more coding for you, but makes your plugin easier to use, and thus more likely to be popular.
The other half of Postel's Law means that read-only properties should only have documented values. Again, take the Boolean property case: if your docs say the value is "true" or "false", never return "1" instead, even though JavaScript understands that to be a truthy value. Follow your own spec, even as you write code that lets others violate it with impunity.
By the way, I don't like the idea of write-only properties. You should make these functions instead. That is:
pluginInstance.setWriteOnlyProperty(5);
not:
pluginInstance.writeOnlyProperty = 5;
Read-only variables are well-understood things. Write-only variables are rare to see. The only time I've ever seen one is in a little 8-bit microcontroller, and the reason for it was clear, due to the hardware design. I don't see room for such good excuses in software.