Cropping of OV2640 full resolution, understanding the registers
So, I ended up figuring out the solution to my problem.
HSIZE and VSIZE should be set to the same as the window size(HREFST, HREFEND, VSRT, VEND, ...), divided by 4. OFFSETS set to zero. HSIZE8 and VSIZE8 should be set to specific values for uxga (look up interface implementations to see what those values are). COM7 should be set to UXGA 0x00. The window size and positioning is how you get the crops.
And finally, the part that actually had me scratching my head, for some reason auto exposure doesn't work when setting to UXGA and using these crops. So, you have to set REG45 and AEC manually, and set exposure level to manual (COM8).