Alright, I replaced the lidAngle, which directly controls the angle of the entity's "lid" with a DataParameter.
I also added a DataParameter for the "open" status of the entity, which checks if a player is actively using the entity's inventory.
The result:
The animation now works in single player.
The animation also partially works in multiplayer. It works for the player who is interacting with the entity. The entity's "lid" opens, and remains open.
However, for other players, the animation will play, stutter slightly, then the "lid" will close again. When the player interacting with the entity exits the inventory, the "lid" closing animation plays for other players, as if the lid was open.
A demonstration of this happening:
https://gfycat.com/MemorableFrenchAntarcticgiantpetrel
Updated relevant function EntityChester.onLivingUpdate: