откуда ОС знает, что сообщение пришло?
Между телефоном и сервером FCM от Google установлено сокетное соединение. Это соединение используется всеми приложениями на телефоне, использующими FCM.
См. здесь
Когда вы просите FCM доставить сообщение на ваш телефон ABC и в приложение с идентификатором XYZ, сервер Google отправит некоторые данные на телефон ABC. Компонент FCM на телефоне затем находит приложение с идентификатором XYZ (он должен сначала найти правильное приложение, потому что это соединение может также получать данные для других приложений) и доставить сообщение идентификатору.
Это управляется Google, поэтому, естественно, процесс не страдает от фоновых ограничений, при условии, что вы установили правильный приоритет для своего сообщения FCM.