Попробовал на новой версии mkgmap, действительно, карта созданная с --charset=cp1251 получилась с нормальной кириллицей. Бред какой то, никогда бы не подумал, что прибор конвертирует кодировки работая с картой. Спасибо, буду знать.

Попутно нашёл в mkgmap ещё несколько багов, у него от очерёдности аргументов могут не восприниматься некоторые аргументы. но это уже другая история.