Reading your query, I believe the answer is to support sorting that is not based on code points but on sort-weights, using the
UCA (UTS#10). This will likely need tailoring to your language, which would be the domain of CLDR. I'm hoping someone here can help you.