В CSS есть такая штука как unicode-range. Вкратце: шрифт нарезается на множество кусочков, каждый из которых обслуживает отдельный участок диапазона символов Unicode. В зависимости от символов, которые есть на странице, браузер будет грузить только нужные файлы шрифтов, избегая неиспользуемые. Таким образом работает Google Fonts, самому тоже можно сделать, но довольно больно. В старых браузерах были проблемы, во всех современных же эта штука работает без проблем. В вашем случае может быть резонно выкачать все диапазоны из Google Fonts для шрифта Noto и отдавать с собственного домена.
Почитать про unicode-range и многое другое рекомендую здесь:
https://developers.google.com/web/fundamentals/per...