I have done this many times between ubuntu systems. Just copy your wallet folder to your new ubuntu user/home directory. And copy your Wallet.dat folder to your new user/home./coinname folder.
But since you're moving between Windows and ubuntu this won't work, because Windows binaries won't execute on ubuntu. You will probably need to install a new wallet on your ubuntu system then send your coins from your windows wallet to your ubuntu wallet.
So the wallet.dat will only backup for Windows right?
Could I send the funds to a cold wallet and recover them from ubuntu that way? Or should I send them to my Android wallet (Skeptical about that) and send from android to ubuntu?
In both ways you could create a copy-paste of your wallet.dat on a usb. After you can send the funds to a online wallet or use the adress of any exchange that you use. but be very careful typing the adresses to send and receive, If you make a mistake the coins dont can be refunded on almost cases if you send these to any wrong adress. If you have time you can try only copy-paste again on ubuntu, If this dont work you will need use windows to do: windows-->another online wallet or exchange-->ubuntu , On both cases you could re-download the entire blockchain, If you are talking about BTC it will take several days.