When a player uses a 1.16.4 client to connect to a 1.16.5 server, that player's DataVersion value in their NBT is the server's data version, not the client's. Since a player's data version is tied to the player, it is logical for it to have the data version of the connecting client, not the world.
- Fire up a 1.16.5 server that you had lying around
- Connect with a real 1.16.4 client
- Run data get entity @p DataVersion from the server console