I have also run into this problem, so far with no solution. There is however a workaround, from the question linked in the comments, which helps.
cmd-ctrl-space (⌘^␣) will bring up a quick emoji picker. There is an icon at the top right (circled in red) that will switch you to the system character viewer.
Once you have switched to the character viewer, you can navigate and insert characters as you normally would, just as if you had opened it from the input sources menu. Happily, once you have switched from the emoji picker to the character viewer the system will remember this choice, so the next time you hit ⌘^␣ you will get the full character viewer instead of the emoji picker.
It doesn't address the missing input sources menu, but for the specific task of adding non-standard characters I find it to actually be faster.
If you happen to know the code points you can also enable the 'Unicode hex input' input source. You can't switch the via the input sources menu, but you can use
ctrl-space (^␣) to switch between enabled input sources. With the unicode hex input source enabled,
opt-xxxx where xxxx is the code point number will insert a character.