Why does applying rotation cause my object to rotate?
Actually your object is not a cube mesh, the box we see is the bounds you can display around your object in the viewport:

As you've rotated your object, it has been rotated as well:

If you apply the rotation, it doesn't rotate the object, that's what we are expecting, but it resets the bounds box, which is also expected for an object that has now a rotation of 000: