I'd like to add that it does make sense if it's in multiplayer (server) as the game is running even though a player leaves the game. (The time it takes for a shield to cool down is definitely faster than it takes for a player to disconnect and reconnect).
In singleplayer, however, it should be persistent between playtimes.
Appears fixed in 1.16.2