This is a really good write-up - Wish I'd seen this before I went through the pain of working it out for myself.
I took a slightly different approach that feels 100% authentic while keeping Willy's coordinate centre within the frame. The one problem I encountered was jumping diagonally through a 2-cell gap next to a wall - e.g. out of the portal and to the right on Kong Beast. If the Y overshot the gap when jumping, the X head check would detect the block above and prevent Willy from seeing the gap. Fixed it with some edge case code, but I would have liked a tidier solution. Didn't help that I'm using floating point.