I got my Plex Media Server plugin updated. This wasn't entirely intuitive, so here's the process I followed.
https://www.ixsystems.com/blog/december-freenas-plugins-updates/ is the blog post that mentions update from CLI.
In my case, I had Plex Media Server (Plexpass) installed, and it came in as a jail named "plex". TL;DR: That naming was the problem.
Attempting to update from UI (11.2-U1) claimed it was successful, but the Plex version hadn't changed.
Attempting to update from CLI complained about a missing plex.json, which was the required clue.
To fix:
Edit: I stopped the jail before doing this, and started it after. I'm assuming it needs to be stopped, but I didn't try it while running.
Open CLI from UI
# Ctrl-Insert and Shift-Insert are your friend to avoid excessive typing - allows copy/paste in the web CLI window
iocage list
# Get the name of your jail. In my case it was plex, adjust as necessary on your system
iocage rename plex plexmediaserver-plexpass
# That step will differ depending on which you want: Rename to plexmediaserver or to plexmediaserver-plexpass
# The goal here is to match the json. See also /mnt/MYMOUNTPOINT/iocage/.plugin_index
iocage list
# Just to verify that worked
iocage snaplist plexmediaserver-plexpass
# Or indeed plexmediaserver, whichever one you have. If this is empty great; if not, we need to remove a snapshot first
iocage snapremove plexmediaserver-plexpass -n NAME_THAT_SNAPLIST_SHOWED_YOU
# Otherwise you just get "we already have a snapshot" on update attempt, not very helpful.
iocage update plexmediaserver-plexpass
# Or plexmediaserver, if that's what you have. This should now show messages about updating your plex plugin, as the name matches the .json
It's quite possible that after rename and removal of previous-failed-attempt snapshot, the UI update button would have worked just as well. I didn't test that.