I am trying those methods (both) and neither worked for me:
signer.sendTransaction({ to, value });
(and)
provider.send("eth_sendTransaction", [{ from, to, value }]);
Would be great if your answer could also include an account impersonation example, as that's exactly why I need to send
ETH.
Impersonated accounts would most likely have 0 ETH, and so would need to have some ETH sent over before being used to initiate any TX.