2.x and 3.x are both 512K. 1.x are 256, but repeated again in the next 256K of address space. UAE dumps often end up as 512K as a result.
On 16-bit machines, the ROMs can be accessed 16 bits at a time. However, they're still 256 kilobytes long. On 32-bit machines, they're split into two chips. Each can be accesed 16 bits at a time, allowing for the transfer of 32 bits of data in a cycle. This doesn't alter their length.