I`m not sure if this is a bug, but anyways...
when using "/execute as <entity>" command,
any command containing the coordinate "~ ~ ~" is set as the coordinate of the location of the entity that was previously specified.
But, only the /teleport command sets the coordinate "~ ~ ~" as the player`s coordinate who is using this command.
example: /execute as @e[tag=armor_stand] run tp ~ ~1 ~
=> teleports this armor stand 1 block up of the player using this.
tested in only 1.15.2, yet.
Comments 3
Also as far as I know you need to use
at @sto execute at the position of the entity.
Otherwise the command will be run relative to the position of where it was used (command block, player)
You seem to be using a non-vanilla client. Try replicating the bug with a vanilla client.