Plone 5.1.4 has a new version of TinyMCE which thankfully has an error message on failed plugins that finally made the problem clear to me.
Obviously that's no good - that's the location of Plone's TinyMCE build and my custom plugin certainly doesn't live there. Looking in Plugins and Toolbars -> Custom Plugins I have this entry:
(This is in skins for now). So while on previous versions of plone this was taken to be a path relative to the portal root, it is now taken to be relative to the path of the tinymce build. I need to change it to
This seems a bit silly, but it works. Is there a good reason why Plone can't assume this is relative to the portal root?
FYI the change in TinyMCE API proved to not be relevant to my case.