Turns out SYLT is just a specific ID3 tag type, so I needed to write proper ID3v2 tags. I found the excellent https://github.com/n10v/id3v2 library and built go-sylt on top of it to solve this specific problem. The tool reads from common formats (LRC, SRT, VTT) to make it easy to add synced lyrics.
One limitation: go-sylt only supports ID3v2.3 and ID3v2.4. If you have older ID3 versions, you'll need to convert them first (I use Kid3 for this).
I only discovered this pretty obscure format existed through Navidrome. But if anyone else has run into this issue, I hope this helps. Happy to answer questions!