The problem with how the king works is not how he chooses his items (currently: only from items that are set to go directly to the shelf). It's simply that anyone who plays the game without using Discord will not understand the mechanic, because nothing tells you this within the game itself.
Instead, why not add a little crown symbol over the self/bin icon that lights up when the shelf mode is selected. Hovering over it (or tapping it) would have a little pop-up that tells players, in game, that only items set to shelf mode can be selected by the King when he shows up. This solves all of the problems. Another option would be to have a little crown icon on items in your inventory that lights up if the King can select it. Again, hovering over it (or tapping it) could have a little pop-up that explains that it is or is not valid, and if it's not valid it could then explain why. Actually communicating this stuff in game would go a long way to dispelling confusion on the mechanic.
Alternatively, if we absolutely must have a system where it goes to being a complete crapshoot which item he'll choose, could you at least add a way to instantly pull all shiny items off of your shelves? It's not too bad for me, since I'm very fastidious about what items go out, and where, but for sane people this is just adding unwanted micromanagement in a game that already has a lot of balls to juggle. A little QOL to go with the extra hassle would be nice.