I argue that strlen is actually still quite often the number you need+want, because possibly the main use case for it is determining how many bytes long a string is.

It is, it just isn't always any more. When printing the string to the screen, the multibyte sequences need to be accounted for, like an emoji that's 2 bytes but only renders as one character too the screen.