My current workaround:
0. drop sync (at least for now) since I'm migrating to a new device.
1. Export entries from OLD device (let's name it OLD.json), transfer it to new device.
2. Export default entries from NEW device (let's name it NEW.json).
3. Using text editor (I'm using QuickEdit in this case, for its ability to handle text encoding) to do following:
3-1. Open OLD.json
3-2. Select all content.
3-3. Copy (into system clipboard)
3-4. Open NEW.json
3-5. Select all content.
3-6. Paste (from system clipboard) to replace all content.
3-7. Save NEW.json
4. Import NEW.json. Since the file permission is kept, there is no permission issue reading its content.
5. That's it. Done.
So it seems more like a permission issue.