I thought locale is mostly controlled by the environment. So you can run your system and each program with it's own separate locale settings if you like.
ISO (or RFC....) date time, UTF-8 default (maybe also alternative with ISO8859-1) decimal point in numbers and _ for thousands, metric paper / A4, ..., unicode neutral collation
but keeps US-English language
number: 12,345.67 date: 2025-10-14 09:45:17 paper: A4 (210×297)
https://lh.2xlibre.net/locale/si_LK/
I personally think en_DK is a better compromise.