Honestly, there is very little need to pass the same value to both a prop and an eVar.. that was a popular implementation method back when we only had Reports and Analytics, and you we didn't have full correlation... with Workspaces, that barrier is gone...
However, that said, there are still a few considerations... let's first look at the fundamental differences between props and eVars:
Props
- Hit level only
- Max Characters: 100
- Supports "lists" (full list plus delimiters limited to 100 characters)
- Supports "Entry PropX" and "Exit PropX" (basically the first and last value tracked into the prop during a visit)
- Back in the history of Reports and Analytics, Props were also the only dimension that could be used in the Pathing Reports, but the Flow diagrams in Workspace don't adhere to that restriction
- 75 Available Props
eVars
- Custom Expiry (including Hit, so you can make it work like a prop)
- Max Characters: 255
- Includes an "Instance" metric when the value is set (this can be used to distinguish between a set value and a persisted value)
- Up to 250 available eVars (depending on your contract)
Lists
- Essentially "special" list eVars
- Max Characters: 255 per item (so you can pass as many items as you want)
- Same expiry options as eVars
- Only 3 available list dimensions
So, given the above, unless you really need to have access to the first value collected in your dimension (not necessarily your entry hit), or you need the last value collected (not necessarily the last hit of the visit), you can do pretty much anything you can do with props with your eVars (except for lists... but the 100 character limit makes this more subject to issues).
I use many eVars with Hit level expiry, making them function like props... but it allows me to store more characters... this is very handy for tracking things like my URLs or replication Page Names (which can be longer than 100 characters, but also I need to collect this value on my actions, which the standard s.pageName doesn't do).
I still use props for shorter values, that are at a Hit level, we collect a lot of dimensions, so I don't want to waste my eVars.
Back in the day, it was popular to use a prop to track the "explicitly set" value, and the eVar to track the set and persisted values... but with the "Instance" metric this is not needed... now, a lot of "old school" people still think of instances as a "avoid at all costs" / "these are bad" metric, but that's not the case... the inherent problem with instances was the old Reports and Analytics deferring to instance instead of the selected Page View when looking at correlations, so this often led to inflation.... but when you are using the metric correctly, these are powerful metrics...
Let's say you are tracking a campaign code... you have an eVar collecting the value, with a Visit Level expiry.
The "eVar Instance" will be where the campaign code was explicitly set, the Page Views will be the page views (including where it was set) for the remainder of the visit (or until a new value is set), and the Occurrence will include all page views and actions (i.e. clicks, orders, etc) for the remainder of the visit....
Even the segment builder has logic for how to handle eVar attribution:

Repeating is everywhere there is a value (i.e. the persisted value), Instance is limited to where the value was explicitly set, and Non-repeating Instance looks at the instances, but then further excludes concurrent values (i.e. A > A > B > A > C only the bolded values will be returned in this instance, the second A is excluded because the previous value was also A)
There are of course many ways to do your implementation.... you have to figure out what works for you and your business users.