symlink is another method of tagging.
to browse images, use your regular file manager and image viewer tools.
symbolic links are supported in both Posix (macOS, Linux, BSD) and Windows NTFS.
NTFS 3.1 introduced support for symbolic links for any type of file. [...] Unlike junction points, a symbolic link can also point to a file or remote Server Message Block (SMB) network path. Additionally, the NTFS symbolic link implementation provides full support for cross-filesystem links. [...] Symbolic links are designed to aid in migration and application compatibility with POSIX operating systems. Microsoft aimed for Windows Vista's symbolic links to "function just like UNIX links". However, the implementation varies from Unix symbolic links in several ways. For example, Windows Vista users must manually indicate when creating a symbolic link whether it is a file or a directory.
windows machines should only have read access to posix machines, for security reasons.
to sync files, use cifs and rsync.
rsync --verbose --stats --recursive --times --links --keep-dirlinks --safe-links from/ to/
as for directory structure, you can simply move the images folder from camera to computer, and then do all the tagging with symlinks.
'symlink by metadata' can be automated, e.g. create symlinks by image time.
for really huge file collections (with more than ten million files), you should group [partition] the 'hard files' into sub-folders by time (year-month, year-week, or year-month-day), otherwise you run into filesystem limits.
to do 'complex queries' on your tags, you could use Tagsistant.