As I've just updated my comment to reflect, TIL that parameter substitution is supported (with some exceptions) by `sh`.
More broadly though, yes, there's a tendency for people to pop sub-shells without giving it a second thought. Those aren't free; use shell built-ins whenever possible!
> Maybe full POSIX sh compat is WIP
Still - I sure hope it's possible to do a comparison in sh without spawning two processes.