I don't think there is any fundamental difference between classic .Net and .NET core, although, I guess the newer app uses Microsoft.Data.SqlClient rather than System.Data.SqlClient. Which I don't think are radically different, but rather Microsoft.Data.SqlClient is a newer version.
These sort of errors typically point at something in the network topology. Since it is intermittent, it can be difficult to track down. But rather than using only server name, using FQDN may work better.
Other things to try is to increase the connection timeout and implement retries. That is, if you get the error you try again. This is good practice anyway, if you would happen to try to connect in the middle of a failover.