Have you considered Hugo Data sources (data
subfolder)?
Synchronising a data format in there, synchronising the data through APIs and some tooling, and then generate the Hugo website from that data may simplify the process - make it viable despite still having some variance and complexity.
in 4 different ways: Hugo yaml, Thunderbird, google contacts, CSV (from earlier days)
Are you still using CSV? If it's integratable into one of the other three that could reduce complexity by dropping this fourth case?
What do you want your defining state to be? Or should it synchronise across, and changes must be possible in any of the places?
Thunderbird can use Google contacts and calendar. Some tooling could sync to or from or both your Hugo data folder.
Git / TortoiseGit