From everything I see in the examples by others here https://developer.wordpress.org/reference/functions/wp_upload_dir/ they are doing what you are doing. $uploads[‘path’] contains the sub directory as well.
I don’t know how it works, I think that subdir is only use if you have the media library set to group uploads by date.