Meh, I struggled to get my pi to work as a time machine server. It would work for a few weeks and then just stop working and I would have to start the backup from scratch previous backups becoming unusable.
In the end I just plugged an external hard disk into the mac.
I have had similar issues in the past even with such simple things as SSH to a Mac. It would be easy to blame the pi or Linux, but as far as I can tell, Apple just does not play nicely with anything not Apple. It's just that little bit different. I have no such problems interfacing Linux and the pi with anything else.
Time Machine over NAS has always been unstable for me. As you experienced, my backup would be regularly corrupted and would need to restart. Alternatively, a normal <10G backup could take in excess of 24h.
I eventually gave up on the NAS and now backup to external drives at home.
Time Machine has improved a lot after the switch to APFS. Mostly because it supports full snapshots, with an easy way to get the difference between two snapshots.
The previous HFS+ version relied on directory hardlinks that were notoriously buggy and easy to corrupt. The difference computation also required basically recursively walking the entire tree and comparing the directory change times, with each lookup requiring a network round-trip.
I had the exact same problem and ended up with the same solution. I know people who have had somewhat better experiences backing up to something like a Synology, but the $Xk investment wasn't worth it for me without also needing it for big file storage or media serving or whatever.
My time machine share is backed by ZFS. I have a separate dataset for each laptop, with snapshots retained for 30 days. As long as I know roughly the last time the backup worked, I can restore that snapshot so I don't need to start fresh.
I had the same - ZFS across four drives with separate dataset and samba shares for each machine in my house. It would work and yes, I could rollback to a working snapshot. But it wasn't a set and forget system.
There are some quirks to setting up SMB so Time Machine is happy, but I have had great success with ZFS+SMB hosting my TM backups. Have been running for a little over a month and nothing is corrupt. Self hosting is still somewhat hard, I don't blame you for bailing on something so critical to uptime in the first place.
In the end I just plugged an external hard disk into the mac.
I have had similar issues in the past even with such simple things as SSH to a Mac. It would be easy to blame the pi or Linux, but as far as I can tell, Apple just does not play nicely with anything not Apple. It's just that little bit different. I have no such problems interfacing Linux and the pi with anything else.