It looks you are attempting to solve an X-Y Problem. I don't know of any operating system which actively (i.e. by special means) supports having more than few hundred files together in one directory/folder. Technically, you CAN do it everywhere, but the result is like you described in the question.
Solution 1: if you want to keep the information in the files:
Find a key to distribute files into directories and write a script to do it. It can be based on filename, file content, file date or just on a newly created unique value.
Example with key based on original filenames:
from folder containing files 10000000.dat
thru 99999999.dat
, move file
12345678.dat
into
12\34\56\78.dat
(or 12\34\56\12345678.dat
) (having 100 files/dirs in directory)
or into
12\345\678.dat
(or 12\345\12345678.dat
) (having 1000 files/dirs in directory).
Simple, fast, elegant, file access times return close to zero. (I recommend not exceeding 255 items in directory – first of above cases.)
Solution 2: if you can transfer your content to more suitable processing engine:
Create a suitable relational database and import the content of the files inside. Add indexes on fields you use for searching and you got efficient storage and retrieval mechanism for your data. Microsoft SQL Server Express is free and known for superior performance. Or go with MariaDB for a free solution from MySQL world.
Again, searching for "file explorer that can open a folder with millions of files quickly" is the same as searching for "2-D game library for Microsoft Excel which can produce more than 30 frames per second. I have SSD drives and fast CPU." The programmer who would write such a thing would waste his effort on a tool solving nonsense problem which could be easily avoided by proper thinking and organizing the data.
dir /b > nul 2>&1
take?