Yes, there are a couple of direct paths that don't require triggers.
Option 1: OSC 1337 escape codes
iTerm2 understands a proprietary escape sequence for this:
ESC ] 1337 ; RemoteHost=user@host BEL
ESC ] 1337 ; CurrentDir=/some/path BEL
These set the same user.username / user.hostname / session.path variables that the "Report Username and Hostname" trigger sets, so your Badge will pick them up automatically. They also drop a host mark, which feeds the Hosts toolbelt, per-host command history, semantic history, and so on.
The username and host are joined with @, and parsing scans backward for the last @ (so Windows UPN-style usernames with embedded @ work). You can also send just host with no @, or user@ with no host, to update only one side.
For your ~/.ssh/config example, you'd want something like this run on the remote after login:
printf '\033]1337;RemoteHost=%s@%s\007' "$USER" "$(hostname)"
printf '\033]1337;CurrentDir=%s\007' "$PWD"
LocalCommand runs on the local side before the SSH session starts, so it can't see the remote's real $USER/hostname, but you can hardcode values there or use a wrapper script around ssh that emits the sequence before invoking ssh.
Option 2: iTerm2's SSH integration
If Python 3.7+ is available on the remote hosts, iTerm2 can inject shell integration over the SSH session without touching any dotfiles or shared environment. You get RemoteHost/CurrentDir updates on every prompt (plus command marks, history, file transfer, etc.) automatically, on every hop, including after su/sudo transitions if you set it up that way. Since you're frequently bouncing between machines with inconsistent setups, this avoids having to retrofit anything per-host.
On "triggering triggers without regex": there isn't a mechanism for that. Triggers always fire from a regex match on terminal output. But the two options above give you the direct, non-regex path you're looking for.