.env VS Service wide environment variables

If I have useDotenv: true and service/function level environment variables both defined, it seems that service/function level environment variables will overwrite whatever loaded from .env.

Is my understanding correct?
serverless-dotenv-plugin does it the other way around, ie it overwrites service/function level environment variables with .env. Is there a way to achieve the same goal without serverless-dotenv-plugin?