You can use you can use a Linked Service in Azure Data Factory (ADF) as a Source to extract data from Oracle sources in AWS as explained here. A self-hosted integration runtime on ADF can give you access to SQL Server instances and Oracle serves on-premises, both as source and destination (sink).
About your Option 1, when creating a linked server on Azure Managed Instance, you are only able to use the SQL provider (driver) to connect to Azure SQL Database, SQL Server, Azure Synapse, SQL serverless or Azure SQL Managed Instance. In addition, You cannot install other providers on Azure Managed Instance. It is a limitation. You cannot have a linked server to an Oracle server on Azure Managed Instance.
About your Option 2, you can indeed create a linked server to an Oracle server on an Azure SQL VM as explained here. Make sure you connect the Azure VNet to on-premises network as explained here.