This previously worked, but now even the canonical playground demo is broken. Here’s a slightly modified version of that demo which demonstrates the problem and a workaround.
https://playground.babylonjs.com/#EDVU95#37
The sound.attachToMesh() function is correctly hooking into afterWorldMatrixUpdate, but when the callback fires and invokes sound.setPosition() the new and current positions are always equal so the function returns without updating the soundPanner. It appears a this._position is a reference to the passed-in newPosition - maybe boundingInfo has changed?