You're right, it should be a simple process of breaking it down! I think i've just made a mess of it enough times that I'm convinced I'll never get it settled!
The biggest thing I'm noticing is a lot of jank and jittery scrolling; I think it's because the camera is struggling to keep up? Or maybe it's unrelated, like browser-based screen tearing? I don't know how to tell the difference, so I'm assuming it's my code!
The second failure has been keeping locked to the player, but letting them move around within the camera's bounding box without the camera moving.
I've tried different methods: attaching/unattaching the camera box as a child; using a lerp with high interpolation (to remove the drift); moving the camera at the player's velocity/angle; and I've not been able to make it smooth.
Just for posterity I've included the sketches I'm working out, but this totally feels like something three lines of code will fix once the correct method is identified.