Rsyslog and syslog-ng direct logging to Elasticsearch, viable replacement for elastic-agent?

It depends on your use case and what you want to do with your logs.

No, they are not, Elastic Agent is not just a log collector, please read this answer on your other topic for more information.

You can use rsyslog/syslog-ng to send data to Elasticsearch, but you will need to create some ingest pipeline to parse your message, than you will need to create dashboards and alerts for your data.

Elastic Agent integrations already do that for you.