Мне предлагали вариант с векторной картой ещё.
Не самом деле, не принципиально используемое решение. Ищу варианты.
Про яндекс.карты сказали, что слоями решить можно, но что-то мне этот путь кажется более невероятным
самый логичный вариант, наверное, векторные тайлы + mapbox gl js. Самым простым способом подменять названия, возможно, будет залить данные с улицами в PostGIS, и там запросом, в конце которого ST_AsMVT, подменять названия по отдельной таблице. Возможно, пригодится pg_tileserv