Happy to report she's back together and running happy!
Sorry for the delay. It's often a while before I get a chance to get out to the garage.
I did, in fact, have an exhaust leak, but that wasn't the issue.
Don't worry, I did clean up the exhaust component before screwing it back together with copper anti-seize. It was pretty gunked up, to the point where it couldn't fully seat (hence the leak).

After putting it back together, the noise was unchanged, so I opened up the valve cover and saw this:

Ha ha, yup. That might be the issue.
The exhaust valve lash adjuster locknut had completely backed off and had self-adjusted to around an 1/8" gap. I had checked them a few months ago and they were in spec, so I didn't touch them. Clearly I should have checked that they were snugged down. Lesson learned!
Luckily, better loose than tight and I only ran it for about 5 minutes, so no damage was done and after a quick adjustment, all is well again.
Thanks for all the help!