Okay okay, most of the sounds are actually fine. It's just that there are a few effects that rely on the sound registers being updated much faster than once a frame for their unique sound, most notably the human pickup, bonus life, and wave end/begin sounds.
So is it even possible with this kernel to update sounds more than once per frame? In an ideal world you'd be able to program the DPC+ to run this algorithm to reproduce the Robotron sounds precisely, but I assume it's already busy doing other things.
EDIT: Getting back to the animations, I finally figured out what specifically is going on. In the arcade version, the animation cycles of the Hulks (and humans, and probably all the other bipedal enemies) are tied explicitly to their movement. That is, every time they move, they also advance to the next animation frame. The 2600 port instead appears to just cycle animations at a fixed rate no matter how they're moving, which makes them kind of look like they're skating around the screen.