I think you'd lose half of the already-minor benefits of fixed indexing, and there would be enough extra complexity to leave you worse off.
In addition, there's a 95% chance you're not dealing with enough text for UTF-32 to hurt. If you're in the other 5%, then a packing scheme that's 1/3 more efficient is still going to hurt. There's no good use case.
Coding for variable-width takes more effort, but it gives you a better result. You can divide strings appropriate to the use. Sometimes that's code points, but more often it's probably characters or bytes.
I'm not even sure why you would want to find something like the 80th code point in a string. It's rare enough to not be a top priority.
In addition, there's a 95% chance you're not dealing with enough text for UTF-32 to hurt. If you're in the other 5%, then a packing scheme that's 1/3 more efficient is still going to hurt. There's no good use case.
Coding for variable-width takes more effort, but it gives you a better result. You can divide strings appropriate to the use. Sometimes that's code points, but more often it's probably characters or bytes.
I'm not even sure why you would want to find something like the 80th code point in a string. It's rare enough to not be a top priority.