Aren’t you both saying the same thing?
In a plugin the situation is complicated by the actions of the host app. Usually the plugin interface will define the behaviour in its documentation, and you needn’t worry about locking at all as long as you adhere to its policies. If it doesn’t, then it’s possible the host may be using some locking mechanism outside your control, and then you have a real problem. If it suits your purposes then you can create a new shared GL context and use that with your own protection to ensure serial access.
If this is the same problem as you were having in January, then it would definitely be worth producing a reduction which exhibits the behaviour which you can share with us. Also knowing a little more about the host app and its plugin interface might help us to help you.