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 @s
to 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.