I guess you had set [Interoperability] - [Service Config Name] in your FHIR repogitory like this:

When I start below production on same namespace with FHIR repository, I can get same error in your question. (I didn't set "HS.FHIRServer.Interop.Service" in Service.)

I can make REST requests if I change my production in this way.

You can convert with $SYSTEM.Util.UTCtoLocalWithZTIMEZONE().

https://cedocs.intersystems.com/ens20141/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&CLASSNAME=%25SYSTEM.Util

USER>write $SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)
66263,48361.382728
USER>write $ZTIMESTAMP
66263,15968.3579578
USER>
 
USER>write $ZDATETIME($SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP),3)
2022-06-03 13:26:26
USER>write $ZDATETIME($ZTIMESTAMP,3)
2022-06-03 04:26:34
USER>

@Megumi Kakechi 
I can get correct result on 2022.1! laugh

I use iris 2022.1 container. (image lists :https://community.intersystems.com/node/511986)

USER>write $ZV
IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2022.1 (Build 164U) Tue Apr 5 2022 01:30:47 EDT

USER>do $system.Python.Shell()

Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
Type quit() or Ctrl-D to exit this shell.
>>> sql="select name,value from %Library.Global_get('user','^ISJ',,2,2)"
>>> rset=iris.sql.exec(sql)
>>> dataframe=rset.dataframe()
>>> dataframe
      name                value
0  ^ISJ(1)  $lb("名前","年齢","住所")
1  ^ISJ(2)  $lb("佐藤","50","東京")
2  ^ISJ(3)  $lb("加藤","40","大阪")
3  ^ISJ(4)  $lb("伊藤","30","京都")

My samples is using 2 JavaScript libraries.
 1)  JSZip(http://stuk.github.io/jszip)
 2)  FileSaver.js(https://github.com/eligrey/FileSaver.js/).
These library can downloads some files from one path at once and save as one Zip file.
Simple samples is below:::
 

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script type="text/javascript" src="http://stuk.github.io/jszip/dist/jszip.min.js" charset="utf-8"></script>
 <script src="FileSaver.min.js" charset="utf-8"></script>
</head>
<body>
<form name=f1 method=post>
<h2>Download+Zip Simple sample</h2>
Please set urlList variable correct file path in startDL() before testing.
<br>
<input type="button" name="b1" value="Download" onclick=startDL()>
</form>
<script type='text/javascript'>
function startDL(){

// urlListにはダウンロード用ファイルを直接指定しています。
// 【注意】日本語を含むファイル名はダウンロードできません。
var urlList = ["./ImageTest/IMG_3587.JPG","./ImageTest/IMG_3598.JPG"]
console.log(urlList);

zip = new JSZip();
deferreds = $.Deferred();
var promise = deferreds;


$.map(urlList,function(value,index) {
    console.log('urlList:index='+index+' = '+value);
    console.log('match() : '+value.match(".+/(.+?)([\?#;].*)?$")[1]);

promise = promise.then( function() {
var newPromise = new $.Deferred();

var xhr= new XMLHttpRequest();
  xhr.open('GET',value,true);
xhr.responseType='arraybuffer';
xhr.addEventListener('load', function() {

// zipにレスポンスデータ追加
zip.file(value.match(".+/(.+?)([\?#;].*)?$")[1],xhr.response);
newPromise.resolve();
});
xhr.send();
        return newPromise;
});

});

promise.then( function() {
zip.generateAsync({type:"blob"}).then( function(content){
saveAs(content,'test.zip');
});

});
deferreds.resolve();
}
</script>
</body>
</html>

I attached sample for mojo+dojo.downloadandzip-mojo-dojo_1.zip

My samples is using 2 JavaScript libraries.
 1)  JSZip(http://stuk.github.io/jszip)
 2) FileSaver.js(https://github.com/eligrey/FileSaver.js/).
These library can downloads some files from one path at once and save as one Zip file.
Simple samples is below:
 

<!DOCTYPE html>downloadandzip-mojo-dojo_0.zip
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script type="text/javascript" src="http://stuk.github.io/jszip/dist/jszip.min.jscharset="utf-8"></script>
 <script src="FileSaver.min.js" charset="utf-8"></script>

</head>
<body>
<form name=f1 method=post>
<h2>Download+Zip Simple sample</h2>
Please set urlList variable correct file path in startDL() before testing.
<br>
<input type="button" name="b1" value="Download" onclick=startDL()>
</form>
<script type='text/javascript'>
function startDL(){
// urlListにはダウンロード用ファイルを直接指定しています。
// 【注意】日本語を含むファイル名はダウンロードできません。
var urlList ["./ImageTest/IMG_3587.JPG","./ImageTest/IMG_3598.JPG"]
console.log(urlList);

zip new JSZip();
deferreds $.Deferred();
var promise deferreds;

$.map(urlList,function(value,index) {
    console.log('urlList:index='+index+' = '+value);
    console.log('match() : '+value.match(".+/(.+?)([\?#;].*)?$")[1]);

promise promise.then( function() {
var newPromise new $.Deferred();

var xhrnew XMLHttpRequest();
  xhr.open('GET',value,true);
xhr.responseType='arraybuffer';
xhr.addEventListener('load', function() {

// zipにレスポンスデータ追加
zip.file(value.match(".+/(.+?)([\?#;].*)?$")[1],xhr.response);
newPromise.resolve();
});
xhr.send();
        return newPromise;
});

});

promise.then( function() {
zip.generateAsync({type:"blob"}).then( function(content){
saveAs(content,'test.zip');
});

});
deferreds.resolve();
}
</script>
</body>
</html>

I attached sample for mojo+dojo.