Unless you're trying to do ML with real time video or audio feeds, I'd just get a random cheapo laptop and do all your stuff remotely with something like jupyter notebooks (eg. Google Colab).
Having a remote GPU which is 10x more powerful than you can afford to buy yourself, and you can scale up to 50 GPU's at the click of a button is a far better workflow than spinning fans on your laptop overnight, only to wake up in the morning and realise a code tweak is needed and then you have to wait another 12 hours...
Recommendations...depends on $$$...high end laptops are expensive as hell. Maybe something like a 1660 Ti?
Broadly I'd avoid ML work on a laptop though due to thermals