[Xposed Framework Modules] dimm0k:
Unfortunately I'm not too familiar with WhatsApp so I'm not too sure how they handle photos and chats... however I ran into the same situation as you this morning when I switched devices, so I hope my experience may shed some light for your dilemma. I wanted to bring along the chat history/photos from the LINE chat app, but because FolderMount isn't liking my new device too much I had no choice but to dump it for now until the author hopefully responds with a fix. Because of this when I restored my TiBackup of this app to my new device, the photos showed up with empty placeholders while the chat history was intact. I had to copy over the jp.naver.line.android folder (this is where LINE stores all of the photos and downloaded stickers) located in the internal memory under the Android/data folder to the new device. Being that I wanted all the photos, old and new, to be on my external memory I enlisted XInternalSD. This caused LINE to use my external memory for new photos... but what about the old ones? Well, LINE itself has a chat backup option, which you have to manually do for each user chat history you want to save. Using that and importing them one-by-one on the new device refreshed the chat history and re-associated all the old photos with the new location! Apparently LINE re-creates its database when you import chat backups and doing so changed the old location used on the old device to the new location on the new device!

TLDR; WhatsApp has a backup chat history option that you can use https://www.whatsapp.com/faq/en/wp/23607796... you can try and hope that it re-creates its database used to associate photos with chats when you restore to a new install of WhatsApp. Before doing a restore however, I would backup WhatsApp in TitaniumBackup and then make a copy of whatever directories WhatsApp may use, especially in the Android/data folder. If you've used WhatsApp for a while and have a lot of chats going on in there, you should have an idea where it's storing all its data by size. Once you have everything backed up, I would remove WhatsApp from XInternalSD and mirror the WhatsApp folders so that they show up on both your internal and external memory. From there use the backup option in WhatsApp, rename all the WhatsApp folders on both the internal and external memory you mirrored in the previous step, enable WhatsApp in XInternalSD and then restore the chat history in WhatsApp. Hopefully WhatsApp functions in a similar fashion to LINE and re-creates everything as it restores. If it doesn't, you should have everything to go back to square one because you renamed all the folders before restoring.

In theory it should work... but I can't guarantee it because I don't use WhatsApp. Anyway, please report back if you've made it this far to let us know. BTW, you SHOULD probably turn off your Internet connection while doing all of this so no new messages come in half way through the process. If everything works, then you're golden and can turn on your connection after. If not, revert all the changes and then turn on your connection.

XInternalSD won't copy anything for you... you have to copy the files yourself...