I don't know of a way to do this. Your performance tuning options querying database links across different database systems will always be limited.
In this specific query, it's possible that the whole of table B is returned, then joined and filtered in Oracle Database. You could try using a subquery to ensure table B is filtered first, e.g.:
Inner Join ( select * from Table_B@Db_Link b where b.Update_Date >= Trunc(Sysdate) ) b
on a.Id = b.Id