Can a smart contract on NEAR control a contract on Aurora? If this happens, how does the user pay ETH gas fees when executing the transaction from the NEAR network?
Yes. The Aurora smart contract has two important functions:
Submit allows you to send a regular Ethereum transaction, signed by private key, and pay in ETH for the relayer (the actual NEAR account in use for calling submit).
Call receives the contract to be executed + the input to run on this contract (it already has the selector for the mETHod and the payload). From another NEAR account call can be used, and there is no need to pay ETH at all (only NEAR). The msg.sender inside solidity that will be used in this case will be the derived address for the NEAR account making the call: hash("awesome.NEAR")
There is no need to attach ETH to call to pay for gas (you're running on NEAR directly so you'll pay for gas with NEAR), but you may need to attach ETH because of the functionality of the contract you want to interact with.
-FYI going with docs, it should be noted about the address that if they do a manual deposit and the address isn’t correct, they will lose the funds. Unrelated but partially related to the above. Just about docs in general.