The LoRaWAN class is a wrapper around the LoRaMac-node code. Does all the callback management, EEPROM save/restore, JOIN/REJOIN handling … Kind of all the additional stuff you need to make LoRaMac-node really useful for more than just a trivial demo.
The LoRaWAN code (or the LoRaMac-node code for that matter) is not tied to STM32L0, nor to the ArduinoCore-stm32l0 code. The radio layer however is heavily.
What would it take to move this over to some other MCU (I am assuming you are asking about STM32L1), no idea. I am pretty certain that at some point we’ll move that to STM32L4. In general, please consider that there were good reasons not to use ST’s HAL.