I tested it too, forgot to add that there, it does not happen in singleplayer.
I have made a Bukkit plugin that tests this which sends the resource pack with a command, and if the resource pack is already loaded by the client, it will not be able to unload it, Even if you send another server resource pack. This means the player would need to restart Minecraft to see the updated pack.
Can confirm.
@SyntheticDev this workaround was posted earlier in this thread, you can just append the hash at the end of the url like this: