Odd altitude "twitch" in AltHold, Loiter, etc

I could use some help in diagnosing an odd issue I have with a copter I built.

I have a copter running 4.5.4 that seems to have an odd “twitch” in altitude in AltHold and Loiter modes. It’s not severe, but it is odd and annoying and the fact that I have another identical copter running 4.5.4 that doesn’t exhibit this behavior suggests there’s a potential bigger problem. So far I’ve been unable to find the cause.

When I first launch in AltHold or Loiter, everything appears mostly normal. But after a minute or so, I can hear the motors slightly accelerate/decelerate at regular intervals as though the copter is unable to settle at a steady altitude (the other identical copter in the same conditions does none of this). I’ve played around with EK3_ALT_M_NSE and a value of 0.5 or so results in a sort of rhythmic jump in altitude. If I turn it completely off (0) there’s no jumping, but flying back and forth and then stopping in a hover results in a ~2m loss of altitude (seems fairly normal) followed by a 5sec or so delay and then a sudden climb back to the original altitude.

Looking at the attached log, CTUN.Alt/BAlt/DAlt all seem pretty normal.

I’m also getting very frequent ekf_yaw_reset messages and frequent ekf primary changed: 0/1 warnings.

Any help diagnosing would be appreciated, thanks.

https://www.dropbox.com/scl/fi/c4blhksboix88ocgh0ztt/11_29_2024-14-57-36.bin?rlkey=0kbrxnzg3lth5bq6288vojf2q&dl=0