Let me also add that it looks like a previous response from the Balena team member ( Problems adding dtparam and dtoverlay variables in /boot/config.txt - #3 by shaunmulligan1 ) indicates that the dtparam=4_0_inch on a separate line should be equivalent to dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inch, however this is not the case for the screen I am trying to get working which is documented here https://www.waveshare.com/wiki/4inch_DSI_LCD.
If i just use a vanilla install on raspberry pi (not using balena) and use dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inch in config.txt the screen functions as it should.