From memory, I think the limit is related to the SD library used. The standard SD library will handle cards up to 32GB. For a 64GB card I think there's an alternative library.
Sad but true, but IMHO if you need a larger storage on a small microcontroller like Arduino, you have wrong/weird expectations from it, as it can't effectively handle large bunches of data.
If you plan having a lot of data coming from Arduino, it's 2024, so you better plan to store it somewhere else, like remote storage (e.g. via FTP to NAS) or something able to store and analyze large quantity of data (like pushing it to a database or to ThingSpeak).
So, the question is: why you think you need more than 2GB of storage?
Arduinos using the SD.h library should be able to handle SD and SDHC cards, which should take you to 32GB, but not SDXC. The lable on the card should say which it is.
There appear to be a few references to the SdFat library supporting the exFat file system with cards as large as 512GB (I found one claim of success with a 1TB card). For an UNO, better to stick to 32GB or less with FAT32 file system, the memory requirements are a bit less.