We managed to get the Quectel EC25 miniPCIe card working. There were several hardware problems that come from the fact that the EC25 miniPCIe card is not with standard miniPCIe pinout.
Our carrier board was designed based on Verdin Development Board and to get it working we have removed some components so that it is compliable with EC25 module.
We disconnected I2C because the EC25 module injected on to the bus lot of noise that caused failure in I2C commands and probably also lead to some booting issues.
Here is pictures of the noise on the SCL and SDA lines with different time windows:
The EC25 module uses I2C only for control of a separate audio codec and its SCL and SDA lines are in 1.8V power domain.

Pins 24, 44 and 46 are disconnected just in case because they are marked as RESERVED on the module pinout.
R251 is removed from the module reset line because we were unable to control the Verdin MCU_GPIO0_0 pin and it is always 0 and thus keeping the EC25 module in reset.
After this last change the EC25 module was automatically recognized on the USB bus with no extra drivers needed.
Additionally ttyUSB0, ttyUSB1, ttyUSB2 and ttyUSB3 appeared in the /dev/ folder.
After inserting SIM card and connecting an antenna we ran the commands specified in Quectel_UMTS_LTE_5G_Linux_USB_Driver_User_Guide_V3.1.pdf chapter 4.4.

After that we could see wwan0 in ifconfig and were able to send a ping out
So no kernel building is needed.