text: Title: variable assingment order inconsistency when using file| in set_env
  Body: When not using `file|` in `set_env`, the variables are assigned in order (with the last value replacing any previous one, as in `FOO` being overwriten with `QUX` in my `example1`).
  
  However, this behaviour is not consistent when using `file|`, when assingment of variables from `file` always take precedence (see `example2`, where `FOO` gets the value `BAR` from `.env`, and is not overwriten by subsequent assignment of `QUX`).
  
  Expected:
  - consistent beavhiour, so that the last assingment of variable takes precedence, regardles if the previous one was set directly or using `file|`
  - or at least document the priority of variables when using `file|`.
  
  
  _tox.ini:_
  ```
  [tox]
  env_list = example1,example2
  
  [testenv]
  allowlist_externals = bash
  commands =
      bash -c 'env | egrep "FOO"'
  
  [testenv:example1]
  set_env = 
      FOO=BAZ
      FOO=QUX
  
  [testenv:example2]
  set_env = 
      FOO=BAZ
      file|.env
      FOO=QUX
  ```
  _.env:_
  ```
  FOO=BAR
  ```
  
  _Output:_
  ```
  $ tox -v
  4.18.0
  
  $ tox -e example1
  FOO=QUX
  
  $ tox -e example2
  FOO=BAR
  ```