You need to implement the NPS on prem (see this guide where i explain ho to integrate the UNIFI APs with NPS... there i describe how install it).
After that, You have to download and install the NPS Extension for Azure MFA on the server where you have the on prem NPS. :
1. On the NPS server where you want to install the extension, enable the NPS component, then download and run NpsExtnForAzureMfaInstaller.exe 2. Run the PowerShell script from C:\Program Files\Microsoft\AzureMfa\Config
About the network requirements:
Network requirements
The NPS server must be able to communicate with the following URLs over ports 80 and 443:
https://adnotifications.windowsazure.com
https://login.microsoftonline.com
https://credentials.azure.com
Additionally, connectivity to the following URLs is required to complete the setup of the adapter using the provided PowerShell script:
https://login.microsoftonline.com
https://provisioningapi.microsoftonline.com
https://aadcdn.msauth.net
https://www.powershellgallery.com
https://go.microsoft.com
https://aadcdn.msftauthimages.net
About your question : Are there any communication between NPS and Domain controllers?
Azure doesn't need to comunicate with your DCs because it is in place the ADConnect.
Finally, your on prem NPS obviously need to communicate with your DC.
see this simple schema form Microsoft that explains the communications between the Azure, NPS and the user.