JavaScript Web Audio API – Sampling Problem and FFT

I am having a problem with the Web Audio API where the audio sampling rate is incorrect on an Android phone using Chrome, Opera and Edge browser, but it works fine using the Firefox browser.

I am recoding the microphone into an array using Web Audio API as follows, where just snippets of my code have been included, as I cannot paste all of it, but this is just to show which functions I am using.

let audioContext;
dataArrayFft = new Float32Array(bufferLength);
audioContext = new (window.AudioContext || window.webkitAudioContext)({ sampleRate:48000});
analyser = audioContext.createAnalyser();
const source = audioContext.createMediaStreamSource(stream);
source.connect(analyser);

I then call the following routine periodically (30Hz) to update my chart.js:

analyser.getFloatFrequencyData(dataArrayFft);

The code works fine on my PC using the Chrome browser and shows the full FFT spectrum up to 24kHz with a 48kHz sampling rate.

With my Android phone I point each of the browsers (Chromer, Opera, Firefox, Edge) to my laptop IP address (https://192.168.1.149:3000) to view the web page on my phone to test my app.

The following IMAGE 1 shows the app running in the Chrome browser on my Windows 10 laptop and it is working as expected.

PC Chrome Browser running as expected

The following images 2,3,4 show my Android phone viewing the web page on my laptop and as you can see for Chrome, Opera and Edge (IMAGES 2,3,5) the FFT spectrum rolls off at 8kHz but for Firefox (IMAGE 4) it shows the full spectrum as expected and I have confirmed it works by using a signal generator.

Android Chrome, Opera, Firefox, Edge Browsers showing the problem

I do not understand why it works as expected on Firefox but there is this 8kHz limit on the other browsers indicating the sampling rate is being limited to 16kHz? Any thoughts on what this problem could be caused by?