Long time ago, in the era of the first Linux netbooks (Acer Aspire One A110L in particular), I used a script to extract my Firefox profile (including small caches) to a small 64-megabyte ramdisk (tmpfs) whenever the first Firefox instance was started, for much improved usability. When the last Firefox instance exited, the profile would be re-archived (tar'ed, no compression), to maintain all updates. This worked perfectly.
I first tried to trigger it from my greeter (GDM, so that the profile would be extracted on Linux login, and recompressed at logout/shutdown), but its session script support was FUBAR, and the Gnome devs didn't really care.
So, if the same profile works fine on Windows and Linux, you only need to worry about copying the profile –– both TO and FROM –– when there is NO applcation using that profile. I don't know how you'd ensure that in Windows (other than doing it all from the Linux side in a dual-boot system), but it is the one gotcha I had to resolve somehow. (And by replacing the Firefox startup script, it was rather simple. The only 'trick' was leaving the parent script wait for the Firefox binary to exit, and then check if the same user had other Firefox instances running, to decide whether to re-archive the profile. I did mount the tmpfs over the profile directory (xxxxxxxx.default/), too, so it was exactly in the same place it would have been on an ordinary installation. The archive was in the parent directory, in the same directory you find 'profiles.ini' in.)
As to whether the profile is supposed to be the same wrt. Linux vs. Windows, only the devs really know, I suppose. Considering both of them are mostly XUL and JS, I would kinda-sorta expect them to be compatible (assuming both are AMD64, i.e. 64-bit x86-64).